只要我在 Visual Studio 2013 Ultimate 中打开我的 Asp.net MVC 3 项目,IISExpress 就开始提供零字节页面。即content-length为0,请求体为空。关闭VS,页面正常显示。
我通常自己从命令行启动 IISExpress。它为我的应用程序提供服务没有问题。当我在 VS 2013 中打开我的项目时,突然出现空白页面。 HTTP 响应代码是 200。我可以仍然附加然后调试/单步执行。我看到我的 Controller 正在抓取数据,而我的 View 正在构建 html。但提供的只是空的 http 请求。一旦我关闭 VS,它就会再次提供正确的页面。
如果某个操作引发异常,我确实会得到蓝屏死机,正如预期的那样。
请注意,无需附加 VS 即可导致此行为,只需运行加载的项目就足以重现。
我已经删除了我所知道的任何可能侵入性地连接到 asp.net 运行时的内容,例如 Glimpse 和 HibernatingRhinos EF 分析器。这不会改变行为。
我还终止了 Microsoft.VisualStudio.Web.Host.exe 进程。不改变行为。
我不知道如何继续调试这个问题。有什么想法吗?
最佳答案
从问题的描述中可以清楚地看出,VS 以某种方式拦截了您对 IIS Express 的请求。据确认,VS 未附加到 IIS Express 进程,因此不太可能在服务器端进行任何更改。
不过还有另一种可能性。拦截可以在浏览器端完成。 VS 2013 向我们提供了浏览器链接功能,如果我没记错的话,默认情况下启用该功能。阅读 here有关浏览器链接的更多信息,请参阅文章的第 4 点,了解如何禁用它的说明。
关于asp.net - 当 Visual Studio 2013 打开 Web 项目时,IISExpress 提供空页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255824/