Server te druk in vs2012

Ik heb vs2010 en vs2012 naast elkaar geïnstalleerd. Als ik onze MVC-site in vs2010 open en deze uitvoer met behulp van de ontwikkelingswebserver, werkt het prima, als ik hetzelfde doe in vs2012 krijg ik elke keer “Server Too Busy” voor het eerste verzoek aan de site. Elk verzoek na het eerste verzoek werkt prima.

Update: ik heb gemerkt dat het in vs2012 alleen gebeurt als het project moet worden gebouwd. Als ik geen wijzigingen heb aangebracht, dwz het project hoeft niet te worden gebouwd en ik druk op F5 om het op te starten en IE te openen, het werkt prima en ik krijg het bericht “Server Too Busy” niet in de browser.


Antwoord 1, autoriteit 100%

Ik heb dit probleem ook gehad met mijn ASP.Net-oplossing. Er waren geen oplossingen voor dit probleem op Stack Overflow of ergens anders.

Setup:

Visual Studio 2013 (maar ik denk dat het ook zal werken voor vs 2010/2012 ASP.Net webapplicatie IIS express setup).

Onze productieomgeving heeft dit probleem nooit gehad omdat deze op IIS draaide.

Ik heb veel geprobeerd om het te repareren, maar ik heb één specifieke oplossing gevonden. Ik heb de DelayNotificationTimeoutingesteld tot 20 seconden, in plaats van de standaardwaarde van 5, wat niet genoeg was voor onze oplossingen om alles op te roepen wat nodig was voor een succesvolle uitvoering.

<system.web>
    <httpRuntime maxRequestLength="104850" 
                 executionTimeout="600" 
                 enableVersionHeader="false" 
                 delayNotificationTimeout="20" />
</system.web>

Antwoord 2, autoriteit 6%

maak gewoon schoonde oplossing voordat u deze gaat bouwen.
Controleer ook de grootte van de map waarin de oplossing zich bevindt, voordat & na schoon bouwen; je zult zeker enig verschil vinden. Als u dit doet, zorgt u ervoor dat u onnodige dll’s opschont/verwijdert die na elke build zijn gemaakt, wat de oorzaak is van het vertragen van de normale stroom.


Antwoord 3, autoriteit 4%

Als u de verzoeklimiet voor IIS Express moet verhogen, probeert u dit:

Maximum aantal verzoeken configureren in IIS Express


Antwoord 4, autoriteit 4%

Ik heb eindelijk het vervelende “Server Too Busy“-bericht opgelost dat mijn ASP.Net-ontwikkeling vertraagde.

Volgens de opmerkingen op de httpRuntime.appRequestQueueLimiteigenschap:

Als het aantal verzoeken in de wachtrij de limiet overschrijdt die door deze instelling wordt opgelegd, worden inkomende verzoeken afgewezen met de foutmelding “503 – Server Too Busy“.

De standaardwaarde is 5000, die ik willekeurig heb verhoogd tot 9000, wat voor mij werkte:

<system.web>
  <httpRuntime appRequestQueueLimit="9000"/>
</system.web>

Als je deze instelling tijdens runtime wilt controleren (evenals DelayNotificationTimeout), heb ik de volgende code toegevoegd aan mijn Default.aspx.csPage_Load-gebeurtenis gebaseerd op deze Stack Overflow-vraag :

// 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>");

Antwoord 5, autoriteit 2%

** Config.XML is de eerste plaats om onderzoek te beginnen** naar de nieuwe installatie van Windows Visual Studio 2012. De waarden moeten handmatig worden beoordeeld op elke nieuwe client/server-toepassing

Als echt ongepaste serverfouten geen enkele zin hebben, denk dan eens aan de configuratie-XML-bestanden van uw testcomputer die de wachtrij- of poolgrootte expliciet in de hoofdmap van het project instellen, zoals beschreven in de bovenstaande MS-link. Het is hoogst vreemd dat een server “Te druk” zou reageren als u alleen op de machine zit.

Altijd goed om zoveel mogelijk recyclebare objecten te kunnen hergebruiken, met name databaseverbindingen.

Voor zover je zowel VS 2010 als 2012 op dezelfde ontwikkelmachine kunt draaien, zou het goed moeten zijn. Controleer gewoon of uw referenties verwijzen naar applicatie-dll’s.


Antwoord 6

U moet de limiet voor gelijktijdige verzoeken verhogen. Lees het volgende:

De limiet voor de ASP.NET-verzoekwachtrij wijzigen
http://technet.microsoft.com/en-us /bibliotheek/dd425294%28office.13%29.aspx


Antwoord 7

In uw project –> Klik met de rechtermuisknop op Eigenschappen en selecteer vervolgens de weboptie aan de linkerkant in het gedeelte Servers. Vink Lokale IIS-webserver gebruiken aan


Antwoord 8

Als u foutopsporing uitvoert in Visual Studio met een bepaald poortnummer, probeer dan het poortnummer te wijzigen. Waarschijnlijk is er iets misgegaan met je port op het web server.

Other episodes