【发布时间】:2013-06-16 07:42:45
【问题描述】:
使用Enterprise Library 6.0时,以下代码出现此错误:
bool rethrow = ExceptionPolicy.HandleException(ex, "ReplacePolicy1")
“必须使用 SetExceptionManager 方法在 ExceptionPolicy 类中设置一个 ExceptionManager。”
在 Enterprise Library 5.0 中,此代码有效:
public static bool HandleException(Exception exception, string PolicyName)
{
ExceptionManager exManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
ExceptionPolicy.SetExceptionManager(exManager);
bool rethrow = ExceptionPolicy.HandleException(ex, "ReplacePolicy1");
return reThrow;
}
但在 Enterprise Library 6.0 中找不到 EnterpriseLibraryContainer 类。 我想要获取 ExceptionManager 的实例。 我该如何解决这个问题?
【问题讨论】:
-
“大多数(如果不是全部)企业库类不再维护” - 我不是 EntLib 的粉丝,但我认为这种说法并不准确 - 请参阅 msdn.microsoft.com/en-us/library/ff648951.aspx
-
Enterprise Library 团队在新的 Enterprise Library 6 中弃用了缓存、加密和安全块。他们这样做是因为他们认为 .NET Framework 现在支持许多开箱即用的相同功能。他们确实添加了一些新块,包括语义记录(非常方便)。 Enterprise Library 在 entlib.codeplex.com 上作为开源维护,并且绝对不会退役。
标签: c# exception-handling enterprise-library