5

アプリケーションからスローされた未処理の例外をすべてキャプチャしたいC#WebServiceアプリケーションがあります。

これどうやってするの?

4

3 に答える 3

2

何らかの理由で、Application_ErrorイベントはWebサービスに対して発生しません(他の質問を参照)。ジェフ・アトウッド氏自身がコーディングホラーブログにアドバイスを投稿しています。

彼は書く:

*すべてのWebServiceメソッドの周りにtry..catchを配置します。これらのメソッドは他のクラスのラッパーになる傾向があるため、これは思ったほど悪くはありませんが、それでも良くありません。
* Facadeデザインパターンを使用して、基本的に.Executeメソッドでtry..catchを実行する親オブジェクトからすべてのオブジェクトを派生させます。ええと、感謝しますが、感謝しません。
*カスタムSOAP拡張機能またはHttpModuleを記述します。これは合理的に聞こえますが..難しいです。それがとてもクールで重要な拡張機能またはHttpModuleである場合、誰かがすでにそれを書いているのではないでしょうか?
于 2009-05-06T11:12:18.487 に答える
1

1つの方法は、ハンドラーAppDomain.UnhandledExceptionのどこかでイベントをサブスクライブすることです。App_Start

于 2009-05-06T11:12:31.093 に答える
0

おそらく、アスペクト指向アプローチの仕事です。いくつかの例;

PostSharp

Spring.Net

于 2010-05-11T23:24:55.880 に答える