NinjectでセットアップをSimpleInjectorに移行したいと思います。 ASP.NET MVCアプリケーション - - ASP.NETのWeb APIアプリケーションMVC、Web APIとOWINのシンプルなインジェクタスコープを組み合わせる
このライブラリには、次の
のようないくつかの宣言を特徴NinjectModule実装を持っている私は から参照されているカスタムライブラリを持っている瞬間にBind<MyDataContext>().To<MyDataContext>().InRequestScope();
私の質問は、InRequestScope()の生涯に関連しています。私がSimpleInjectorのドキュメントを読むと、ASP.NET MVC applicationはWebRequestLifestyle
をDefaultScopedLifestyle
オプションとして使用することが推奨されていますが、Web APIにはAsyncScopedLifestyleが推奨されています。また
app.Use(async (context, next) => {
using (AsyncScopedLifestyle.BeginScope(container)) {
await next();
}
});
のように、ブロック内のすべてをラップするために提案し、この意味:
- ごとに登録すべきです
Lifestyle.Scoped
ライフスタイルに登録する - 両方のアプリケーションで、スコープ付きのインスタンスを
app.Use(...)
コードブロック で解決できるようにする必要があります
これは間違いありませんか?
ありがとうSteven! – Lorenzo