[英]Why is IIS Express sending 426 Upgrade Required errors for requests to one my .Web projects?
I have an asp.net application. 我有一个asp.net应用程序。 It has 7 .Web projects, each running on a different port.
它有7个.Web项目,每个项目运行在不同的端口上。
I am able to access the APIs and web page for each .Web project except for one: DemandService.Web. 我可以访问每个.Web项目的API和网页,但以下项目除外:DemandService.Web。
For this particular .Web project, I cannot receive any valid response. 对于此特定的.Web项目,我无法收到任何有效的响应。 The response code is always HTTP 426 Upgrade Required, and this response is sent with the following Headers: server →WebSocket++/0.3.0-alpha4.
响应代码始终为HTTP 426升级要求,并且此响应与以下标头一起发送:服务器→WebSocket ++ / 0.3.0-alpha4。
Further, this .Web project no longer appears in IIS Express list of running sites. 此外,此.Web项目不再出现在正在运行的站点的IIS Express列表中。
I have re-GETed my application and have restarted my computer. 我已经重新获取我的应用程序并重新启动了计算机。 I verified that there are no pending changes in DemandService.Web that are not found in other .Web project.
我验证了DemandService.Web中没有在其他.Web项目中找不到的未决更改。 I am unsure what has changed that may cause this.
我不确定会导致这种情况的变化。
Any ideas? 有任何想法吗? Can I reset my IIS Express configuration somehow?
我可以通过某种方式重置IIS Express配置吗?
EDIT 编辑
I uninstalled and reinstalled IIS Express 10.0. 我卸载并重新安装了IIS Express 10.0。 Now IIS Express indeed starts my .Web project and I can see it running.
现在,IIS Express确实启动了我的.Web项目,并且可以看到它正在运行。 However, instead of using the port 9005 specified in the project properties, it runs the project on 44322 and is otherwise working.
但是,它没有使用项目属性中指定的端口9005,而是在44322上运行了该项目,并且可以正常工作。
Why is IIS Express switching the port on me? IIS Express为什么要切换我的端口? Seems like there is some conflict with port 9005 configuration.
似乎与端口9005配置存在一些冲突。 Is there a vhost directory I should re-configure?
我应该重新配置一个虚拟主机目录吗?
Sure enough, the fact that the protocol being used on port 9005 was WebSockets was an indication that the response wasn't coming from IIS Express and therefore I could assume that it wasn't a project or IIS Express configuration problem. 果然,端口9005上使用的协议是WebSockets这一事实表明响应不是来自IIS Express,因此我可以认为这不是项目或IIS Express配置问题。
Running netstat -a -b
shows all the applications using a port on my computer. 运行
netstat -a -b
使用我的计算机上的端口显示所有应用程序。 I examined which process was using port 9005 and the application was CiscoVideoGuardMonitor.exe. 我检查了哪个进程正在使用端口9005,应用程序是CiscoVideoGuardMonitor.exe。
This software is StreamingDRM software that comes with DirectTV player. 该软件是DirectTV播放器随附的StreamingDRM软件。 I installed this last week to watch a basketball game.
上周我安装了这个装置来观看篮球比赛。
Uninstalling this software gave me my port back, which allowed IISExpress to start my service properly, and now I am able to access my .Web project. 卸载该软件后,我的端口回到了原来的位置,这使IISExpress可以正确启动我的服务,现在我可以访问我的.Web项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.