1

簡単な質問-私は次のことを理解できません:

Ninjectモジュールを作成しました:

public void OnLoad(IKernel kernel)
{
    kernel.Bind<GenericRepository>()
          .ToConstructor(syntax => new GenericRepository(new DbContext()))
          .Intercept()
          .With<LogInterceptor>();
}

私はインターセプターを持っています:

public void Intercept(IInvocation invocation)
{
    invocation.proceed();
}

アプリケーションがビルドされ、モジュールがロードされ、リポジトリがエンティティを返しますが、インターセプターにブレークポイントを設定すると、呼び出されません。

何か案は?

4

1 に答える 1

2

私の記憶が正しければ、Ninject インターセプトは Castle Proxy テクノロジーに依存しているため、仮想メンバーでのみ機能します。

于 2012-10-12T19:26:47.797 に答える