1

アプリケーションで時間が費やされた場所をログに記録するために、WCF アプリケーションに新しいプロファイリング機能を追加する必要があります。ログを適用する慣例主導のアプローチについてPostSharpを調べており、実際にログを記録する方法についていくつかの入力が必要です。StopWatch を使用してログ記録用のカスタム クラスを既に作成しており、WCF アプリケーションのレイヤーを介してステップをログに記録できます。ただし、この目的で PostSharp と組み合わせて使用​​できるスレッドセーフな代替ライブラリがあるかどうか疑問に思っています。MiniProfiler に出くわしましたが、主に ASP.NET MVC アプリケーションを対象としているようです。考慮すべき他のフレームワークはありますか、それともカスタムクラスを使用する必要がありますか? ありがとう

4

2 に答える 2

0

PostSharp 自体はスレッドセーフです。あなたが書いた側面は、下手に書かれているとスレッドセーフではないかもしれませんが、それらをスレッドセーフにする方法は常にあります。

OnMethodBoundaryAspect を使用していて、OnEntry から OnSuccess に何かを渡す必要がある場合は、ストップウォッチの初期値を OnMethodExecutionArgs.MethodExecutionTag に格納します。

于 2012-04-13T20:31:46.097 に答える
0

私は過去IClientMessageInspectorにカスタムで実装されたを使用してそのようなことをしましたIEndpointBehavior。必要なロギングの種類によっては、これでうまくいくかもしれません。次のリンクに例があります

IClientMessageInspector インターフェイス

于 2012-04-11T14:10:11.130 に答える