为什么 IIS Express 向我的一个 .Web 项目发送 426 Upgrade Required 错误请求?

Why is IIS Express sending 426 Upgrade Required errors for requests to one my .Web projects?

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

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

对于这个特定的 .Web 项目,我无法收到任何有效响应。响应代码始终为 HTTP 426 需要升级,并且此响应与以下 Headers 一起发送:服务器 →WebSocket++/0.3.0-alpha4.

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

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

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

编辑

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

为什么 IIS Express 会切换我的端口?似乎与端口 9005 配置有一些冲突。有没有虚拟主机目录我应该 re-configure?

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

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

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

卸载这个软件让我恢复了端口,这让 IISExpress 可以正常启动我的服务,现在我可以访问我的 .Web 项目了。