我正在运行一个小型控制台应用程序,它可以异步调用一些 Web 服务。如您所知,这涉及在异步方法完成后调用回调方法。
此应用程序之前进行同步调用并使用 EntLib 5.0 将异常处理策略应用于所有应用程序。调用很简单:
ExceptionManager em = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
try
{
// Call main work method
}
catch (Exception ex)
{
em.HandleException(ex, "Main Policy");
WriteErrorToConsole(ex);
}
很好,简洁,在一个地方。但现在我有一个异步回调,它不在同一个堆栈中。
为了实现一致的错误处理,我是否需要在我的回调方法中重复这种模式?如果我有多个异步调用和回调方法,我是否必须在每个方法中都这样做,或者是否有某种方法可以将 EntLib 错误处理策略应用于所有方法?