49

我已经并排安装了 vs2010 和 vs2012。如果我在 vs2010 中打开我们的 MVC 站点并使用开发 Web 服务器运行它,它工作正常,如果我在 vs2012 中做同样的事情,我每次对站点的第一个请求都会得到“服务器太忙”。第一个请求之后的每个请求都可以正常工作。

更新:我注意到在 vs2012 中它只发生在需要构建的项目中。如果我没有进行任何更改,即不需要构建项目,我按 F5 启动它并打开 IE,它工作正常,我没有在浏览器中收到“服务器太忙”消息。

4

8 回答 8

48

我的 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>
于 2014-06-19T15:19:46.050 回答
3

只需在构建之前清理解决方案。此外,在干净构建之前和之后检查解决方案所在文件夹的大小;你一定会发现一些不同。这样做可确保您清理/删除在每次构建后创建的不必要的 dll,这是延迟正常流程的原因。

于 2013-07-25T04:52:07.820 回答
2

如果您需要增加 IIS Express 的请求限制,请尝试以下操作:

在 IIS Express 中配置最大请求数

于 2014-03-12T14:39:36.247 回答
2

我终于修复了减缓我的 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>");
于 2014-06-27T14:37:07.637 回答
1

** Config.XML 是第一个开始研究新的 Windows Visual Studio 2012 安装的地方。应在每个新的客户端/服务器应用程序上手动检查这些值

当真正不适当的服务器错误完全没有意义时,请考虑在项目根目录中明确设置队列或池大小的测试计算机的配置 XML 文件,如上面的 MS 链接中所述。当只有你在机器上时,服务器会响应“太忙”是非常奇怪的。

能够重用尽可能多的可回收对象总是好的,特别是数据库连接。

至于在同一台开发机器上同时运行 VS 2010 和 2012 应该没问题。只需检查您的引用是否指向应用程序 dll。

于 2013-12-16T03:17:26.160 回答
0

您必须提高并发请求限制。阅读以下 :

修改 ASP.NET 请求队列限制 http://technet.microsoft.com/en-us/library/dd425294%28office.13%29.aspx

于 2013-09-06T08:34:53.127 回答
0

在您的项目中 --> 右键单击​​属性,然后在服务器部分的左侧选择 Web 选项,检查使用本地 IIS Web 服务器

于 2015-09-17T17:20:19.073 回答
0

如果您在 Visual Studio 中使用特定端口号运行调试,请尝试更改端口号。Visual Studio 项目 Web 属性您的 Web服务器上的端口可能有问题。

于 2018-01-25T12:22:05.390 回答