X
    Categories: ASP.NET

【ASP.NET】Response.End()に呼出によるThreadAbortException 例外対応

今回は、ajax通信でサーバからデータを貰う際の簡易受けプログラムの備忘録です。

JavaScriptやJqueryでajax通信でデータを受け渡しする際、受け側のサーバプログラムにはWebServiceやWCFサービスなどを使う場合も多いと思いますが、基本的にクライアントとサービスのプロジェクトを別けるように設計していると思います。
でも、ちょっとしたデータの取得だけならわざわざサービス用のプロジェクトを立ち上げるのも面倒という場合もあるかと思います。
私はそんな場合は、通常のaspxをサービスで使用しています。
ちょっとした非同期通信で画面の遷移がなく画面の情報が更新されるプログラムにJSONと一緒に使用しています。
その他では、PDFファイルを裏で作成する際とかでも使用しています。

で、今回の備忘録ですが、Response.End()を呼出すとThreadAbortException 例外が発生してしまいます。
エラーハンドリングにTry chachを入れていると思いますが、引っかっかってしまいますよね。
 _HResult  -2146233040
 _message  スレッドを中止しようとしました。
なので、
Catch ex As ThreadAbortException
  ’ End()の呼び出しによる、ThreadAbortException 例外対応
で処理します。

どうという内容ではないのですが、備忘録としてメモっておきます。

itsysgroup: