Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

PRB: ThreadAbortException, bei Verwendung von Response.End, Response.Redirect oder Server.Transfer

Dieser Artikel wurde zuvor veröffentlicht unter D312629
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 312629
Problembeschreibung
Wenn Sie die Response.End, Response.Redirectoder Server.Transfer -Methode verwenden, tritt eine ThreadAbortException -Ausnahme. Sie können eine Try-Catch -Anweisung zum Abfangen dieser Ausnahme verwenden.
Ursache
Die Methode Response.End beendet die Seitenausführung der und verlagert die Ausführung auf das Ereignis Application_EndRequest in der Ereignispipeline der Anwendung. Die Codezeile, die Response.End folgt, wird nicht ausgeführt.

Dieses Problem tritt in der Response.Redirect und Server.Transfer -Methode auf, da beide Methoden Response.End intern aufrufen.
Lösung
Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:
  • Für Response.End, rufen Sie die HttpContext.Current.ApplicationInstance.CompleteRequest anstelle von Methode Response.End um die Ausführung von Code zum Umgehen der Application_EndRequest das Ereignis.
  • Für Response.Redirect, verwenden Sie eine Überladung Response.Redirect (String Url, Bool EndResponse) übergibt, die False für die endResponse Parameter, um den internen Aufruf an unterdrücken Response.End. Beispiel:
      Response.Redirect ("nextpage.aspx", false);						
    Wenn Sie diese Problemumgehung verwenden, folgt der code Response.Redirect wird ausgeführt.
  • Für Server.Transfer, verwenden Sie die Server.Execute Methode statt.
Status
Dieses Verhalten ist beabsichtigt.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 312629 – Letzte Überarbeitung: 08/30/2012 22:32:00 – Revision: 1.0

Microsoft ASP.NET 4.5, Microsoft ASP.NET 4.0, Microsoft ASP.NET 3.5, Microsoft ASP.NET 2.0, Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbexcepthandling kbprb kbmt KB312629 KbMtde
Feedback