我已经测试了我的 Asp.NET MVC 应用程序以运行 SignalR,它text/event-stream
使用 Visual Studio 2012、IIS Express (Microsoft-IIS/8.0) 和 Chrome 正确处理带有 serverSentEvents 连接的 MIME。
现在我正在部署到生产环境(IIS 7.5、.NET Framework 4.5、Windows Server 2008R2),我注意到 SignalR 总是回退到 LongPolling 传输,因为signalr/connect?transport=serverSentEvents etc
超时。
有没有办法配置 Microsoft-IIS/7.5 以使 ServerSentEvents 工作?还是仅在 8.0+ 上才有可能?
当我尝试直接访问 url
'http://my.webapp.com/MyHub/signalr/connect?transport=serverSentEvents&connectionId=624849a4-45c6-458b-b6d0-f7cb023ab226&connectionData=%5B%7B%22name%22%3A%22myHub%22%7D%5D&tid=2'
时,我得到一个文件,其中包含看起来像 SSE 数据包的内容:
data: initialized
id: 14476
data: {"MessageId":"14476","Messages":[],"Disconnect":false,"TimedOut":false,"TransportData":{}}
所以我不确定为什么超时会达到请求。