Ninject で Interceptor パターンを使用する方法を学んでいます。
次のようなインターセプターがあります。
public class MyInterceptor:IInterceptor
{
public void Intercept(IInvocation invocation)
{
Console.WriteLine("Pre Execute: " + invocation.Request.Method.Name);
invocation.Proceed();
Console.WriteLine("Post Execute: " + invocation.Request.Method.Name);
Console.WriteLine("Returned: " + invocation.ReturnValue);
}
}
次のように、メイン メソッドで Ninject カーネルをセットアップしています。
kernel = new StandardKernel();
kernel.Bind<MyClass>().ToSelf().Intercept().With(new MyInterceptor());
myClass = kernel.Get<MyClass>();
問題は、へのメソッド呼び出しをデバッグするときmyClass
(私はステートメントにブレークポイントを置いてmyClass.methodName()
F11 を押しています)、インターセプターへの呼び出しが表示される前に、渡すスタックフレームがたくさんあることです。メソッド呼び出し。
Ninject が動的プロキシなどを作成することは認識しています。すべてのインターセプターから実際のメソッドまで、コードの流れを見たい場合。(どのインターセプターがメソッド呼び出しをブロックしているかを確認するためのデバッグを想像してください)
Ninject スタック フレームで壊れないように Visual Studio に指示する方法はありますか? (とにかくNinjectソースを持っていません)
更新 基本的に、私がやりたいことは、ソースを持っていないコードで壊れないようにVSに伝えることです...