在 Azure 应用服务中通过 Web 应用使用 SignalR
作者 :帕特里克·弗莱彻
警告
本文档不适用于最新版本的 SignalR。 查看 ASP.NET Core SignalR。
本文档介绍如何配置在 azure Microsoft 上运行的 SignalR 应用程序。
本教程中使用的软件版本
- Visual Studio 2013 或 Visual Studio 2012
- .NET 4.5
- SignalR 版本 2
- 用于 Visual Studio 2013 或 2012 的 Azure SDK 2.3
问题和评论
请留下有关你喜欢本教程的方式以及我们在页面底部的评论中可以改进的内容的反馈。 如果存在与本教程不直接相关的问题,可以将它们发布到 ASP.NET SignalR 论坛、 StackOverflow.com 或 Microsoft Azure 论坛。
目录
简介
ASP.NET SignalR 可用于在服务器和 Web 或 .NET 客户端之间带来新的交互级别。 在 Azure 中托管时,SignalR 应用程序可以利用云中运行的高可用性、可缩放且高性能的环境。
将 SignalR Web 应用部署到 Azure App 服务
SignalR 不会添加将应用程序部署到 Azure 与部署到本地服务器的任何特定复杂性。 可以在 Azure 中托管使用 SignalR 的应用程序,而无需对配置或其他设置进行任何更改(不过对于 WebSocket 支持,请参阅下面的Azure App 服务启用 WebSocket。在本教程中,你将在入门教程中创建的应用程序部署到 Azure。
先决条件
- Visual Studio 2013。 如果没有 Visual Studio,Visual Studio 2013 Express for Web 包含在 Azure SDK 的安装中。
- 适用于 Visual Studio 2013 的 Azure SDK 2.3 或 用于 Visual Studio 2012 的 Azure SDK 2.3。
- 若要完成本教程,需要一个 Azure 订阅。 可以 激活 MSDN 订阅者权益,或 注册试用订阅。
将 SignalR Web 应用部署到 Azure
在 Visual Studio 中,选择“生成”,“发布 SignalR 聊天”。
在“发布 Web”对话框中,选择“Windows Azure 网站”。
如果未登录到Microsoft帐户,请单击“ 选择现有网站”对话框中的“登录 ...”,然后登录。
在“选择现有网站”对话框中,单击“ 新建”。
在“在 Windows Azure 上创建站点”对话框中,输入唯一的应用名称。 在“区域”下拉列表中选择离你最近的区域。 单击 “创建” 。
在“发布 Web”对话框中,单击“ 发布”。
应用完成发布后,Azure App 服务 Web 应用中托管的 SignalR Chat 应用程序将在浏览器中打开。
在 Azure App 服务 Web 应用 上启用 WebSocket
需要在 Web 应用中显式启用 WebSocket 才能在 SignalR 应用程序中使用;否则,将使用其他协议(有关详细信息,请参阅 传输和回退 )。
若要在 Azure App 服务 Web 应用 上使用 WebSocket,在 Web 应用的配置部分中启用它。 为此,请在 Azure 管理门户中打开 Web 应用,然后选择“配置”。
在配置页面顶部,确保 .NET 4.5 用于 Web 应用。
在配置页上的 WebSocket 设置中,选择“打开”。
在“配置”页底部,选择“保存”以保存更改。
使用 Azure Redis 缓存背板
如果对 Web 应用使用多个实例,并且这些实例的用户需要彼此交互(例如,在一个实例中创建的聊天消息可以访问连接到其他实例的用户), 则必须在应用程序中实现 Azure Redis 缓存背板 。
后续步骤
有关Azure App 服务中的Web 应用的详细信息,请参阅Web 应用概述。