私はasp.MVCのIOCコンテナとしてStructureMapを使用するのが初めてです。私のコントローラの1つは、コンストラクタでIStreamServiceインターフェイスを受け取ります。これは簡単そうStructuremapを使用するコントローラが使用するサービスのコンストラクタにMVCコントローラのプロパティを挿入するには
For<IStreamService>().HttpContextScoped().Use<StreamService>();
ようStreamServiceの具象クラスの実装にリンクされている
私が直面してる問題は、具体的なクラスのconstuctorを注入する必要がIPrincipalパラメータを、かかることです。インスタンス化しているコントローラのUserプロパティをConcrete Serviceに渡したいと思います。誰かが正しい方向に私を指差してくれますか?
本当にIPrincipalをコントローラからプルする必要がありますか?Robinが示唆しているように、HttpContextをプルするだけで簡単です。 –
コメントありがとうございます。IPrincipalは、 HttpContectからアクセスすることができます。コントローラ。つまり、HttpContextからアクセスできない。それをする方法はありますか? – Mark
これはどうすればできますか? MyControllerがStreamServiceに依存していると言っていますが、これはMyControllerに依存していますか? – Simon