次のシナリオでautofacを使用しようとしています。
すべてのメソッド呼び出しで、DB接続を開くために使用する接続の詳細を受信するWCFサービス。
(すなわちpublic UserDTO GetUser(string dbUsername, string dbPassword, int userId)
。
DB接続を開くことはすべてのメソッドに共通であるため、を使用しIParameterInspector
てすべてのメソッド呼び出しをインターセプトし、接続の詳細を抽出して、接続を初期化します。
私の問題は次のとおりです。1
。必要なファクトリを自分に注入できるかどうか(およびその方法)がわかりません。2。IParameterInspector
接続を作成した後、コンテナに登録する方法がわかりません。そのリクエストのすべてのコンポーネントで利用できるようになります。
私のIParameterInspector
これまでのところ:
public object BeforeCall(string operationName, object[] inputs)
{
var userName = inputs[0] as Guid?;
var password = inputs[1] as string;
// How do I inject the ConnectionsFactory?
var connection = ConnectionsFactory.CreateConnection(userName, password);
// How can I register my connection in the container, so that it'll be available to all dependencies created in this call?
return null;
}
ありがとう