我有vs2010和vs2012並排安裝。如果我在vs2010中打開我們的MVC網站並使用開發Web服務器運行它,那麼它工作正常,如果我在vs2012中做了同樣的事情,那麼每次對網站的第一次請求都會收到「服務器太忙」的問題。第一次請求後的每個請求都能正常工作。服務器在vs2012中忙碌
更新:我注意到在vs2012它只發生了項目需要建立。如果我沒有做任何改變,即該項目不需要構建,我打F5來啓動它並打開IE,它工作正常,我沒有在瀏覽器中看到「服務器太忙」消息。
我有vs2010和vs2012並排安裝。如果我在vs2010中打開我們的MVC網站並使用開發Web服務器運行它,那麼它工作正常,如果我在vs2012中做了同樣的事情,那麼每次對網站的第一次請求都會收到「服務器太忙」的問題。第一次請求後的每個請求都能正常工作。服務器在vs2012中忙碌
更新:我注意到在vs2012它只發生了項目需要建立。如果我沒有做任何改變,即該項目不需要構建,我打F5來啓動它並打開IE,它工作正常,我沒有在瀏覽器中看到「服務器太忙」消息。
我有這個問題我的ASP.Net解決方案,以及。在堆棧溢出或其他地方沒有解決這個問題的辦法。
設置:
的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>
目前爲止這麼好。如果我再過幾天沒有收到,我會將其標記爲答案。謝謝。 –
這確實在這裏節省了一些嚴重的頭痛......我開始前往machine.config,但這個確認很有幫助。我們似乎也很奇怪地發現了與我們公司的防病毒策略的聯繫......並追查到這一點:http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection。 delaynotificationtimeout(v = vs.110).aspx – beauXjames
我可以在***生產環境中使用**'delayNotificationTimeout =「20」** **沒有性能問題_? * IIS 7.5 Windows Server 2008 R2 * – Kiquenet
只是乾淨解決方案之前,你建立它。 另外,請檢查解決方案所在的文件夾的大小,然後在清潔構建之後&之前;你一定會找到一些區別。這樣做可以確保您清理/刪除每次構建後創建的不必要的dll,這是延遲正常流程的原因。
我不應該每次都乾淨一點。 –
清潔沒有爲我工作... – roshambo
您必須提高併發請求限制。閱讀以下內容:
修改ASP.NET請求隊列限制 http://technet.microsoft.com/en-us/library/dd425294%28office.13%29.aspx
不。考慮到這是一個IIS設置,這在內置的VS Web服務器中,我不認爲它會做任何事情。 –
** config.xml的是開始研究**在新的Windows的Visual Studio 2012安裝了第一的位置。該值應進行人工審查每一個新的客戶機/服務器應用程序
當真正不適當的服務器錯誤就沒有任何意義可言,想想,在項目的根明確設置隊列或池的大小,測試計算機的配置XML文件,描述在上面的MS鏈接中。當服務器只是你在機器上的時候,會回覆「太忙」,這太奇怪了。
始終能夠儘可能多地重複使用儘可能多的可回收對象,特別是數據庫連接。
就在同一開發機器上同時運行VS 2010和2012而言,它應該沒問題。只需在那裏查看您的參考資料是指向應用程序dll。
如果您需要增加請求限制IIS快遞試試這個:
我終於固定了惱人的「服務器太忙」的消息從我放慢開發ASP.Net。
據有關httpRuntime.appRequestQueueLimit
性質的言論: - 錯誤
當請求的數量排隊超過此設置施加的限制,進入的請求將與「服務器太忙503」被拒絕。
的默認值是5000,這是我隨意增加至9000這爲我工作:
<system.web>
<httpRuntime appRequestQueueLimit="9000"/>
</system.web>
如果您想查詢在運行時這個設置(以及DelayNotificationTimeout
),我加下面的代碼我Default.aspx.cs
Page_Load
事件基於this Stack Overflow question:
// 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>");
這與Arnold Van Der Drift的答案不同,只是通過代碼? –
該解決方案對我無效。我們對appRequestQueueLimit沒有任何問題,但是應用程序在超時之前加載的時間很長。服務器過忙消息可能由多種原因引起。 –
對於***生產環境***無效_performance issues_? * IIS 7.5 Windows Server 2008 R2 * – Kiquenet
在您的項目 - >右鍵點擊左邊催化性能研究,然後選擇網絡選項在服務器部分檢查使用本地IIS Web服務器
我還沒有想出這個,但它可能與vs2010和vs2012都被安裝。我讀了一篇文章,指出某人卸載了這兩個文件,然後重新安裝了這兩個文件,並且郵件消失了。儘管如此,我還沒有討厭這個問題。 –
確保檢查EventVwr - 通常會在該處記錄錯誤的真正原因。 – FarmerBob
卸載VS2010,因爲我不再使用它,但我仍然遇到同樣的問題。還不夠煩惱重裝vs2012 –