0

Enterprise Library Configurator を使用してアプリで例外処理を構成しました (単純: すべての例外に新しいポリシーを追加し、ログ ブロックに渡すハンドラーを追加しました。Windows イベント システムに書き込まれるよりも)

ただし、VirtualMethodInterceptor を使用してオブジェクトをインスタンス化する場合、例外は処理されません。TransparentProxyInterceptor に切り替えると、動作します。

そのようなオブジェクトを作成するためのコードを使用します:

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

どうしたの?TransparentProxyInterceptor は遅いため、使用しない方がよいでしょう。

Unity5.0を使用しています

更新。言い忘れました: 属性を使用して、処理する必要があるメソッドを示しています: [ExceptionCallHandler("Policy")]

4

1 に答える 1

1

問題を見つけたと思います-VirtualMethodInterceptorとInterceptorを見逃していました。

ありがとう

于 2011-09-21T12:48:38.483 に答える