我已经并排安装了 vs2010 和 vs2012。如果我在 vs2010 中打开我们的 MVC 站点并使用开发 Web 服务器运行它,它工作正常,如果我在 vs2012 中做同样的事情,我每次对站点的第一个请求都会得到“服务器太忙”。第一个请求之后的每个请求都可以正常工作。
更新:我注意到在 vs2012 中它只发生在需要构建的项目中。如果我没有进行任何更改,即不需要构建项目,我按 F5 启动它并打开 IE,它工作正常,我没有在浏览器中收到“服务器太忙”消息。
我已经并排安装了 vs2010 和 vs2012。如果我在 vs2010 中打开我们的 MVC 站点并使用开发 Web 服务器运行它,它工作正常,如果我在 vs2012 中做同样的事情,我每次对站点的第一个请求都会得到“服务器太忙”。第一个请求之后的每个请求都可以正常工作。
更新:我注意到在 vs2012 中它只发生在需要构建的项目中。如果我没有进行任何更改,即不需要构建项目,我按 F5 启动它并打开 IE,它工作正常,我没有在浏览器中收到“服务器太忙”消息。
我的 ASP.Net 解决方案也遇到了这个问题。在 Stack Overflow 或其他任何地方都没有解决此问题的方法。
设置:
Visual Studio 2013(但我认为它也适用于 vs 2010/2012 ASP.Net Web 应用程序 IIS 快速设置)。
我们的生产环境从来没有出现过这个问题,因为它是在 IIS 上运行的。
我已经尝试了很多来修复它,但我找到了一个特定的解决方案。我将其设置delayNotificationTimeout
为 20 秒,而不是默认的 5 秒,这不足以让我们的解决方案想出成功运行所需的一切。
<system.web>
<httpRuntime maxRequestLength="104850"
executionTimeout="600"
enableVersionHeader="false"
delayNotificationTimeout="20" />
</system.web>
只需在构建之前清理解决方案。此外,在干净构建之前和之后检查解决方案所在文件夹的大小;你一定会发现一些不同。这样做可确保您清理/删除在每次构建后创建的不必要的 dll,这是延迟正常流程的原因。
如果您需要增加 IIS Express 的请求限制,请尝试以下操作:
我终于修复了减缓我的 ASP.Net 开发速度的恼人的“服务器太忙”消息。
根据httpRuntime.appRequestQueueLimit
楼盘上的备注:
当排队的请求数量超过此设置的限制时,传入的请求将被拒绝并显示“ 503 - Server Too Busy ”错误。
默认值为 5000,我随机增加到 9000,这对我有用:
<system.web>
<httpRuntime appRequestQueueLimit="9000"/>
</system.web>
如果您想在运行时(以及)检查此设置,我根据此 Stack Overflow 问题DelayNotificationTimeout
将以下代码添加到我的事件中:Default.aspx.cs
Page_Load
// Uncomment to debug "Server Too Busy" error message
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
object o = config.GetSection("system.web/httpRuntime");
HttpRuntimeSection section = o as HttpRuntimeSection;
Response.Write("DelayNotificationTimeout: " + section.DelayNotificationTimeout.ToString() + "<br>");
Response.Write("AppRequestQueueLimit: " + section.AppRequestQueueLimit.ToString() + "<br>");
** Config.XML 是第一个开始研究新的 Windows Visual Studio 2012 安装的地方。应在每个新的客户端/服务器应用程序上手动检查这些值
当真正不适当的服务器错误完全没有意义时,请考虑在项目根目录中明确设置队列或池大小的测试计算机的配置 XML 文件,如上面的 MS 链接中所述。当只有你在机器上时,服务器会响应“太忙”是非常奇怪的。
能够重用尽可能多的可回收对象总是好的,特别是数据库连接。
至于在同一台开发机器上同时运行 VS 2010 和 2012 应该没问题。只需检查您的引用是否指向应用程序 dll。
您必须提高并发请求限制。阅读以下 :
修改 ASP.NET 请求队列限制 http://technet.microsoft.com/en-us/library/dd425294%28office.13%29.aspx
在您的项目中 --> 右键单击属性,然后在服务器部分的左侧选择 Web 选项,检查使用本地 IIS Web 服务器