使用Unity和VirtualMethodInterceptor进行ExceptionHandling

时间:2011-09-21 11:31:54

标签: c# exception-handling unity-container enterprise-library enterprise-library-5

我使用Enterprise Library Configurator在应用程序中配置了异常处理(简单:为所有异常添加了新策略,添加了传递给Logging Block的处理程序。比将其写入Windows事件系统)

但是,当我使用VirtualMethodInterceptor实例化我的对象时 - 它不处理任何异常。当我切换到TransparentProxyInterceptor时 - 它可以工作。

我使用代码创建这样的对象:

_container.RegisterType<T, TK>(
            new ContainerControlledLifetimeManager(),
            new InterceptionBehavior<PolicyInjectionBehavior>(), 
            new Interceptor<VirtualMethodInterceptor>())

有什么问题? TransparentProxyInterceptor很慢,最好不要使用它。

我使用Unity 5.0

UPD。忘了说:我正在使用一个属性来指示应该处理的方法:         [ExceptionCallHandler( “策略”)]

1 个答案:

答案 0 :(得分:1)

我想我发现了我的问题 - 错过了VirtualMethodInterceptor和InterfaceInterceptor。

由于