Windows 7上的IIS 8 Express的Websocket问题

时间:2013-03-06 13:48:07

标签: asp.net windows-7 websocket iis-8

我尝试为Web套接字创建处理程序,但context.IsWebSocketRequest总是返回false并且无法在Windows 7上使用IIS 8 Express。

如何启用websocket模块或我丢失的任何步骤?我有带有IIS Express动态网址的VS 2012应用程序。

请帮忙。

2 个答案:

答案 0 :(得分:9)

需要在IIS 8中启用WebSocket协议(请参阅http://www.codeguru.com/csharp/csharp/programming-html5-web-sockets-in-asp.net-4.5.htm)。此外,我不确定Windows 7是否支持Web套接字。我只看到需要Windows 8或Windows Server 2012。

答案 1 :(得分:8)

简短的回答是,您可以使用IIS 8 Express在Windows 7中针对WebSockets 编写应用程序,但实际上您无法测试它们。它需要Windows 8或Windows Server 2012。

来自IIS 8.0 Express ReadMe

  

WebSocket支持

     

IIS 8.0 Express支持编写WebSocket应用程序。有关详细信息,请参阅Microsoft MSDN网站上的WebSocket协议规范或System.Net.WebSockets命名空间主题。

     

无法在低级操作系统上运行的Windows Server 2012和Windows 8功能

     

有一些功能需要特定的体系结构   到无法正常工作的Windows Server 2012和Windows 8客户端   在早期操作中安装IIS 8.0 Express时的低级别   系统:

     

服务器名称指示(SNI)
  中央证书店
  WebSocket功能

然后,从System.Net.WebSockets MSDN entry(强调我的):

  

Windows 7,Windows Vista SP2和Windows Server 2008支持System.Net.WebSockets命名空间中的某些类。但是,Windows 8上支持客户端和服务器WebSockets的唯一公共实现。 Windows Server 2012。 Windows 7,Windows Vista SP2和Windows Server 2008支持的System.Net.WebSockets命名空间中的类和类元素是抽象类。这允许应用程序开发人员使用客户端WebSockets的实际实现来继承和扩展这些抽象类。