我正在运行一个小型控制台应用程序,它会异步进行一些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错误处理策略应用于所有这些方法?