1

.NET アプリケーションですべてのメソッド呼び出しをトレースする方法を知っていますか。私の現在のアプローチは、このように各メソッドの先頭にトレースを書き込むことです

void DoSomething()
{
   using(new Tracer(TraceCategory)
{
   //Perform all action here

}

}

しかし、それは私のコードをクラスター化し、すべてのメソッドのトレースを書かなければならないので最悪です。

メソッドがいつ呼び出され、いつ終了したかを記録する別の方法はありますか? すべての提案をいただければ幸いです。

4

2 に答える 2

4

私が知っているこれを実装するための唯一の実用的なオプションは、AOP (postsharp など) を使用することです

于 2012-06-19T00:54:31.223 に答える
3

Unity や PostSharp などのフレームワークを使用する必要があります。両方とも、メソッド開始前イベントとメソッド終了イベント後のフックがあります。

Unity のサンプル

PostSharp のサンプルは Yahia によって既に投稿されています。

于 2012-06-19T00:53:33.647 に答える