亲儿子 | Azure SignalR 服务现在支持 ASP.NET

2019-07-09 10:12:20 浏览数 (1)

文 / Zhidi

译 / Edi Wang

我们刚刚发布了支持ASP.NET的正式版 SignalR 服务 SDK

Microsoft.Azure.SignalR.AspNet v1.0.0

Azure SignalR 服务是一种完全托管的用于实时消息传递的 Azure 服务。它是扩展 ASP.NET Core SignalR 应用程序的首选方法。但是,SignalR 服务是用 ASP.NET Core 2.0 的 SignalR 上构建的,它与 ASP.NET SignalR 不是100% 兼容。要使 ASP.NET SignalR 应用程序使用 SignalR 服务,需要更改代码。服务 SDK 还需要专门添加 ASP.NET 支持。

在 Microsoft Ignite 2018 上,我们宣布了 ASP.NET 支持的预览版。客户一直在使用预览版本 SDK 使用 SignalR 服务开发 ASP.NET Signalr 应用程序。今天,我们很高兴地宣布,我们已经发布了支持 ASP.NET 的正式版本SDK 1.0.0!

ASP.NET 支持的典型架构

此图说明了在 ASP.NET Core 或 ASP.NET 中使用 Azure SignalR 服务与应用程序服务器的典型架构。

对于自我托管的 SignalR 应用程序,应用程序服务器侦听客户端的连接请求并管理客户端连接。使用 SignalR 服务,应用服务器只响应客户端的协商请求,并将客户端重定向到 SignalR 服务,以建立持久的客户端-服务器连接。

通过对 Azure SignalR 服务的 ASP.NET 支持,您可以:

继续将 SignalR 应用程序保留在 ASP.NET 中,并使用完全托管的基于 SignalR 的 SignalR 服务。

更改几行 SignalR API 代码,以切换到使用 SignalR 服务而不是自托管的 SignalR Hub。

Azure SignalR 服务的内置功能和工具可帮助操作 SignalR 应用程序,并保证 SLA。

受支持的 SDK 版本

要从新的 ASP.NET 支持中获得全部功能,请下载并升级 SDK 到最新版本:

.NET: 4.6.1

Microsoft.AspNet.SignalR.*: 2.4.1

Microsoft.Azure.SignalR.AspNet: 1.0.0

不支持的功能

许多因素 (包括非技术性因素) 使得很难将 Web 应用程序从 ASP.NET SignalR 迁移到 ASP.NET Core。这次的 ASP.NET 支持的目标是在几乎不更改代码的情况下简化迁移。

某些 API 和功能不再受支持:

自动重连

Forever Frame 传输

HubState

PersistentConnection 类

GlobalHost 对象

HubPipeline 模块

IE11以前版本的IE

ASP.NET 支持的重点是兼容性,因此并非所有来自 ASP.NET Core SignalR 的新功能都受支持。例如, MessagePack、流媒体等仅适用于 ASP.NET Core SignalR 应用程序。

有关 ASP.NET SignalR 和 ASP.NET Core SignalR 之间的功能比较的完整列表,以及已停用的功能的推荐替代方法,请参阅此处的文档。

https://docs.microsoft.com/en-us/aspnet/core/signalr/version-differences?view=aspnetcore-2.2

下一步

查看文档并快速入门

https://aka.ms/aspnet-doc

查看 GitHub 存储库中的更多代码示例

https://github.com/aspnet/AzureSignalR-samples/tree/master/aspnet-samples

免费注册 Azure 帐户

https://azure.microsoft.com/en-us/free/

我们想听听您的反馈和意见。您可以通过 GitHub 或电子邮件(asrs@microsoft.com)联系产品团队。

0 人点赞