我只是想让节点和websockets与ASP.NET MVC项目一起运行。 我在Server 2012,IIS8,最新的node.js和iisnode上运行。为IIS启用了Websockets,并且.NET 4.0 MVC项目运行正常。此外,我可以在独立于IIS的节点上运行websockets(在单独的端口上)。
我下载了faye websocket和dante example project并安装了它。
当我没有禁用websockets时,我得到了
Unable to establish WebSocket connection to ws://localhost/dante/server.js
当我禁用websockets时,无论是在dante还是wwwroot中,我都会
This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
我尝试在wwwroot webconfig中指定overrideMode="Allow"
,但这似乎不起作用。
我也尝试删除wwwroot web.config,它似乎没有任何区别。我也尝试关闭服务器上的防火墙(只是为了踢)并且没有改变任何东西。
感谢您的帮助和帮助。我愿意使用任何东西(例如socket.io),但希望继续在同一端口上运行ASP.NET MVC和节点,以消除防火墙问题,并防止不得不使用多个服务器/域/等。
编辑: 运行
c:\windows\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/webSocket
让IIS错误消失,但现在我仍然收到这个:
Unable to establish WebSocket connection to ws://localhost/dante/server.js/ws
WebSocket connection is closed.
我已经打开了一个问题here。
编辑2:我从Web平台安装程序安装了iisnode。显然,WebPI的版本已经过时了。我需要从安装IIS 7.x / 8.x 下的github网站here获取最新信息。一旦我安装了最新版本,IT工作! 这是太棒了!感谢tjanczuk! :)
答案 0 :(得分:1)
iisnode从版本0.2.0开始添加了对websockets的支持。确保使用https://github.com/tjanczuk/iisnode中的链接安装最新的iisnode。