2012-03-17 11 views
5

カスタムLogAttributeを実装します。カスタムLogAttributeは、クラス内の各メソッドの開始時と終了時に情報を記録します。また、エラーもログに記録する必要があります。属性をクラスに適用したいと思います。クラスにカスタムLogAttributeを実装する方法

私はPostSharpを見ました。しかし、PostSharpや同様のライブラリを使用するのではなく、独自のカスタムログ属性を使用したいと考えています。

パフォーマンスが主要なキーであるため、LogAttributeはパフォーマンスに影響しません。

私はIMessageSyncについて読みましたが、パフォーマンスに影響します。

MVCでは、CustomFiltersを取得します。そこには、各Actionメソッドの開始時と終了時に実行されるLogActionHandlerがあります。私は同様のASP.Net Webフォームで実装したいと思います。

サンプルコードを提供することで、誰でも助けてくれますか?

+4

が – sll

+0

を車輪を再発明し、十分にテストされた使用、時間によって検証し、コミュニティライブラリしないでくださいを参照してくださいには、ログインのために利用可能な無料のライブラリは属性THERですか? ..... PostSharpは有料です..... – user1233802

+2

@ user1233802:PostSharpには、あなた自身のカスタム 'LogAttribute'を実装することを可能にする無料の"開始版 "があります。コンパイル時。 –

答えて

2

Unity - MicrosoftのIoC/Dependency Injection Containerでは、メソッドの代行受信も可能です。プロ http://hmadrigal.wordpress.com/2010/12/25/aspect-oriented-programming-and-interceptor-design-pattern-with-unity-2/

は、ここであなたが好きな同じことを "DiagnosticsInterceptor"、の例ですこれは、無料

コンだ:それはユニティ/ DI/IoCのパターンが必要です。 あなたのクラスには、インターフェースが必要ですか、または仮想メソッドがあります。

残念ながら、これはASP.NETコントロールでは当てはまりません。 したがって、この方法が唯一のカスタムクラスのために動作します: Intercept Unity 2.0 HandlerAttribute without an interface

関連する問題