現在オフラインです。再接続するためにインターネットの接続を待っています

PRB: Response.End、Response.Redirect、または Server.Transfer を使用すると ThreadAbortException が発生しました。

この記事は、以前は次の ID で公開されていました: JP312629
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:312629
現象
Response.EndResponse.Redirect、またはServer.Transferメソッドを使用する場合に、 ThreadAbortException例外が発生します。この例外をキャッチするのにtry-catchステートメントを使用できます。
原因
Response.Endメソッド、ページ実行の終了し、実行、アプリケーションのイベント パイプラインの出力イベントを移動します。Response.Endを次のコード行は実行されません。

内部でResponse.Endの両方のメソッドの呼び出しは、 Response.RedirectServer.Transferメソッドで発生します。
解決方法
この問題を回避するには、次の方法のいずれかを使用します。
  • Response.Endを呼び出して、 HttpContext.Current.ApplicationInstance.CompleteRequest メソッドの代わりに Response.End コードの実行をバイパスするのには、 出力 イベントです。
  • Response.Redirectは、オーバー ロードを使用します。 Response.Redirect (文字列 url, bool endResponse) 渡されます false は、 endResponse パラメーターは、内部の呼び出しを抑制するには Response.End.例を示します。
      Response.Redirect ("nextpage.aspx", false);						
    この回避策を使用すると、コードの後します。 Response.Redirect 実行されます。
  • 移動先を使用して、 Server.Execute メソッド代わりにします。
状況
この動作は仕様です。

警告: この記事は自動翻訳されています

プロパティ

文書番号:312629 - 最終更新日: 08/30/2012 22:34:00 - リビジョン: 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 KbMtja
フィードバック
body>