ASP.NET 4.0 Web-App werfen “Falsche Funktion. (Ausnahme von HRESULT: 0x80070001)"

Die Anwendung geschrieben in ASP .NET 4.0 gehostet im IIS 7.5 auf der Maschine mit Windows Server 2008 R2. Der Anwendungspool ist mit der Integrierten Managed-Pipline-Modus.

Ausnahme unten wird ausgelöst, wenn auf verschiedenen Seiten, die nichts haben offensichtliche Gemeinsamkeiten. Ich kann nicht reproduzieren die Ausnahme selbst, aber es passiert 10 mal in der letzten Woche in der Produktionsumgebung.

Aus der Stack-Trace sehe ich, dass die Ausnahme, die ausgelöst durch die Methode "HttpRequest.GetEntireRawContent" ich Frage mich, wenn es etwas falsch mit der Anfrage, wie es ist zu lang oder enthält ungültige Zeichen.

Nur klar zu sein, diese Ausnahme ist nicht geworfen code, den ich geschrieben habe, es ist von innerhalb des Systems.Web-namespace. Also ich kann nicht fügen Sie einen try...catch um ihn herum.

Wäre ich dankbar für jegliche Ideen über die Ursache der Ausnahme oder Schritte zur Problembehandlung, um herauszufinden, weitere Informationen.

    Exception: System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.HttpException (0x80004005): An error occurred while communicating with the remote host. The error code is 0x80070001. ---> System.Runtime.InteropServices.COMException (0x80070001): Incorrect function. (Exception from HRESULT: 0x80070001)
    at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
    at System.Web.Hosting.IIS7WorkerRequest.ReadEntityCoreSync(Byte[] buffer, Int32 offset, Int32 size)
    at System.Web.HttpRequest.GetEntireRawContent()
    at System.Web.HttpRequest.FillInFormCollection()
    at System.Web.HttpRequest.get_Form()
    at System.Web.HttpRequest.get_HasForm()
    at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
    at System.Web.UI.Page.DeterminePostBackMode()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.HandleError(Exception e)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest()
    at System.Web.UI.Page.ProcessRequest(HttpContext context)
    at ASP.report_openinghours_aspx.ProcessRequest(HttpContext context)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

EDIT:

Wie bereits von lukiffer es ist eine ähnliche Frage hier: stackoverflow.com/questions/7825127/ Die vorgeschlagene fix ist, deaktivieren Sie TCP-Verschiebung, so wie ich es verstehe, hat das TCP offloading Schilde der webserver von viel von der Komplexität von TCP. Also ausschalten würde, verbrauchen sehr viel CPU-Zyklen, so verlangsamen Sie den web-Server, das ist natürlich nicht wünschenswert.

Ich versteh auch nicht, warum TCP-Verschiebung verursachen würde, IIS, um eine exception zu werfen.

  • Siehe: stackoverflow.com/questions/7825127/...
  • Kannst du den code in 'report_openinghours.aspx.cs", die den Aufruf der remote-service / Daten-Quelle, einschließlich COM-Aufrufe und Objekte
  • Der code, der in 'report_openinghours.aspx.cs' nicht, rufen Sie einen remote-service / Daten-Quelle, oder alle COM-Aufrufe oder Objekte. Es sieht aus wie der code unter Verwendung eines COM-Objekts ist in der IIS7WorkerRequest Klasse.
  • TCP-Verschiebung stellt die Arbeit von TCP-Verarbeitung auf die Netzwerkkarte. Wenn die NIC nicht so richtig, es könnte dazu führen, dass alle Arten von Problemen.
  • Versuchen Sie dies: stackoverflow.com/a/4619327/1025506 Dies funktionierte für mich auf eine ähnliche Fehlermeldung, vielleicht ist es das gleiche mit Ihrem problem.
  • Vielen Dank für die Beantwortung, könnten Sie lassen Sie mich wissen, welche Ausnahme Sie empfangen wurden? die Antworten zu den stackoverflow.com/a/4619327/1025506 für Sie gearbeitet?

InformationsquelleAutor user1069816 | 2011-11-28
Schreibe einen Kommentar