Ninject:インターセプトされている1つのクラスインスタンスごとに1つのインターセプターインスタンス?
-
27-10-2019 - |
質問
現在問題が発生しており、インターセプトされているクラスのインスタンスごとに1つのインターセプターインスタンスを接続しようとしています。
InterceptorRegistrationStrategyでアドバイスを作成し、カーネルからインターセプターを解決するようにコールバックを設定しています(インジェクションコンストラクターがあります)。InterceptorRegistrationStrategyにはカーネル自体への参照がないため、コールバックでインターセプターをインスタンス化することしかできないことに注意してください。 ジェネラコディセタグプレ
メソッドごとにインターセプターのインスタンスを取得しています。
インターセプトされるタイプインスタンスごとに1つのインターセプターインスタンスを作成する方法はありますか?
Named Scopeについて考えていましたが、インターセプトされたタイプとインターセプターは相互に参照していません。
解決
バインディングのすべてのインスタンスに対してメソッドごとに1つのインターセプターが作成されるため、これは不可能です。
しかし、できることは、インターセプターでインターセプトコードを直接実行するのではなく、インターセプトを処理するクラスのインスタンスを取得することです。 ジェネラコディセタグプレ
他のヒント
流暢なAPIを使用してインターセプトを構成しようとしましたか? ジェネラコディセタグプレ
N.B。Intercept()
拡張メソッドはNinject.Extensions.Interception.Infrastructure.Language.ExtensionsForIBindingSyntax
にあります