我正在使用信号器在我的 Web 应用程序中执行一些实时事件。我试图强制信号器使用新的 websocket 协议,但它不会,即使我指定它。
$.connection.hub.start({ transport: 'webSockets' })
我肯定安装了 Web 套接字协议,并且正在运行带有 IIS 8 的 Windows 8。
我还需要做什么才能在信号器中启用 Web 套接字支持?
确保您的应用使用 SignalR 包中的 .NET 4.5 程序集。如果项目以 4.0 为目标,或者以这种方式开始,那么 nuget 将添加对不支持 websocket 的 4.0 SignalR 程序集的引用。如果是这种情况,那么只需将信号器包卸载并重新安装到您的项目中。
Web 套接字需要 .NET 4.5。
如果您以后尝试在 Windows Server 8 上运行它,请务必激活 Web Sockets 功能。
如果您已经在使用框架 4.5 但仍然没有运气,请向您的 IIS 网站添加 HTTPS 绑定并通过 HTTPS 访问该网站。