一部のWebサービス呼び出しを非同期で行う小さなコンソールアプリを実行しています。ご存知のように、これには、非同期メソッドが完了すると呼び出されるコールバックメソッドが含まれます。
このアプリは、以前は同期呼び出しを実行し、EntLib5.0を使用してすべてのアプリに例外処理ポリシーを適用していました。呼び出しは非常に簡単でした:
ExceptionManager em = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
try
{
// Call main work method
}
catch (Exception ex)
{
em.HandleException(ex, "Main Policy");
WriteErrorToConsole(ex);
}
素敵で、簡潔で、1か所にあります。しかし今、私は非同期コールバックを持っています、そしてそれは同じスタックにありません。
一貫したエラー処理を実現するには、コールバックメソッドでこのパターンを繰り返す必要がありますか?複数の非同期呼び出しとコールバックメソッドがある場合、すべてのメソッドでそれを実行する必要がありますか、それともそれらすべてにEntLibエラー処理ポリシーを適用する方法がありますか?