2009-05-07 9 views
0

Ich habe ein sehr seltsames Verhalten mit Request.Form.ASP.NET: Request.Form ist langsam!

Hier sind zwei IIS 7-Server, die dieselbe ASP.NET-Anwendung ausführen. Auf der ersten Instanz ist alles in Ordnung. Aber der zweite hat eine sehr langsame Leistung.

Profiler zeigte, dass diese Linie:

context.Request.Form["id"] 

mehr als 130 ms jeder Zeit in Anspruch nimmt!

Profiler log:

0,60% get_Form - 4536 ms - 68 Anrufe - System.Web.HttpRequest.get_Form()

Server-Konfigurationen sind nur die gleichen (?). Der erste Server läuft Vista, die zweite (langsamer) läuft Windows Web Server 2008

UPD: Beiden Anwendungsinstanzen im integrierten Modus ausgeführt werden, Pool-Einstellung ist die gleiche.

Irgendwelche Ideen?

+0

Seltsam ... beide laufen im integrierten Modus? Alle AppPool Einstellungen sind gleich? Vielleicht möchten Sie es posten, damit jemand helfen kann. –

+0

Ja, integrierter Modus, Pooleinstellungen sind gleich. Die Frage wurde aktualisiert. – alexey

+0

Werfen Sie einen Blick auf diese: http://stackoverflow.com/questions/5880168/asp-net-request-form-performance/ – saver

Antwort

0

Behoben! Habe gerade den Anwendungsport von 80 auf 8080 geändert. Ich kenne die Gründe für dieses Verhalten nicht.

0

Ist Request.Form ["id"] Ihre einzige Referenz auf Request.Form während dieser Anfrage? In diesem Fall hängt die Zeit möglicherweise mit dem Overhead zusammen, der auf die Formsammlung verweist. Versuchen Sie zum Spaß, einen weiteren Verweis auf Request.Form hinzuzufügen, um zu sehen, ob es auch 130ms dauert.

+0

Es war ein Fehler: Single Request.Form ["id"] dauert ca. 60-65 ms. Wenn 2 Referenzen auf Request.Form vorhanden sind, dauert es 2 x 65 ms = 130 ms. – alexey