我正在将一个经典的 Azure VM(使用 Signalr 托管 Web 应用程序)迁移到具有多个操作系统 Windows Server 2016 的 VMS 的 Azure 资源管理器规模集。
查看 Signalr 文档 ( https://www.asp.net/signalr/overview/getting-started/supported-platforms ) 似乎它仅支持 Windows Server 2012。
我正在使用 Signalr 2.2.0 。
我找不到任何说明 Windows Server 2016 支持 Signalr 的文档。
Windows Server 2016 是否支持 Signalr?
最佳答案
Does Windows Server 2016 supports Signalr?
是的,因为您可以在 Server 2016 上运行 .Net 4.5(+)(我认为这是显而易见的)。以下文档于 2014 年发布,远早于 2016 年发布,因此不会明确提及 future 的服务器版本。似乎唯一的要求是能够启用 Web 套接字。
(例如asp.net 2.0于2005年发布,可以在Server 2016上运行)
https://www.asp.net/signalr/overview/getting-started/supported-platforms
摘录:
支持的服务器操作系统
SignalR 服务器组件可以托管在以下服务器或客户端操作系统中。请注意,SignalR 要使用 WebSockets,需要 Windows Server 2012 或 Windows 8(WebSocket 可以在 Windows Azure 网站上使用,只要站点的 .NET Framework 版本设置为 4.5,并且在站点的配置中启用 Web Sockets页)。
- Windows Server 2012
- Windows Server 2008 r2
- Windows 8
- Windows 7
- Windows Azure
- 支持的服务器 .NET Framework 版本
SignalR 2 仅在 .NET Famework 4.5 上受支持。请参阅“推荐更新”部分,了解可增强可靠性、兼容性、稳定性和性能的更新。
支持的服务器 IIS 版本
当 SignalR 托管在 IIS 中时,支持以下版本。请注意,如果使用客户端操作系统,例如用于开发(Windows 8 或 Windows 7),则不应使用完整版本的 IIS 或 Cassini,因为会施加 10 个同时连接的限制,这将非常容易达到。速度很快,因为连接是暂时的,经常重新建立,并且在不再使用时不会立即处置。 IIS Express 应该在客户端操作系统上使用。
另请注意,要使 SignalR 使用 WebSocket,必须使用 IIS 8 或 IIS 8 Express,服务器必须使用 Windows 8、Windows Server 2012 或更高版本,并且必须在 IIS 中启用 WebSocket。有关如何在 IIS 中启用 WebSocket 的信息,请参阅 IIS 8.0 WebSocket 协议(protocol)支持。
- IIS 8 或 IIS 8 Express。
- IIS 7 和 7.5。需要支持无扩展名 URL。
- IIS 必须以集成模式运行;不支持经典模式。如果 IIS 使用服务器发送事件传输在经典模式下运行,则可能会出现长达 30 秒的消息延迟。
- 托管应用程序必须在完全信任模式下运行。
关于Signalr 支持的平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41766626/