为什么IIS Express会对我的.Web项目的请求发送426升级必需错误?

时间:2018-06-03 19:02:48

标签: c# asp.net websocket visual-studio-2017 iis-express

我有一个asp.net应用程序。它有7个.Web项目,每个项目都在不同的端口上运行。

我能够访问每个.Web项目的API和网页,除了一个:DemandService.Web。

对于这个特殊的.Web项目,我无法收到任何有效的回复。响应代码始终是HTTP 426升级必需,并且此响应使用以下标头发送:server→WebSocket ++ / 0.3.0-alpha4。

此外,此.Web项目不再出现在IIS Express运行站点列表中。

我已经重新获取了我的应用程序并重新启动了我的计算机。我验证了在其他.Web项目中找不到的DemandService.Web中没有挂起的更改。我不确定可能导致这种情况发生了什么变化。

有什么想法吗?我可以以某种方式重置我的IIS Express配置吗?

enter image description here enter image description here enter image description here

修改

我卸载并重新安装了IIS Express 10.0。现在IIS Express确实启动了我的.Web项目,我可以看到它正在运行。但是,它不是使用项目属性中指定的端口9005,而是在44322上运行项目,否则正在工作。

为什么IIS Express会切换我的端口?似乎与端口9005配置存在一些冲突。是否有我应该重新配置的vhost目录?

1 个答案:

答案 0 :(得分:0)

果然,端口9005上使用的协议是WebSockets的事实表明响应不是来自IIS Express,因此我可以认为它不是项目或IIS Express配置问题

运行netstat -a -b会显示使用计算机上端口的所有应用程序。我检查了哪个进程使用的是端口9005,应用程序是CiscoVideoGuardMonitor.exe。

此软件是DirectTV播放器附带的StreamingDRM软件。我上周安装了这个以观看篮球比赛。

卸载此软件后,我的端口返回,这使得IISExpress可以正常启动我的服务,现在我可以访问我的.Web项目了。