Je souhaite migrer ma configuration avec Ninject vers SimpleInjector. Au moment où j'ai une bibliothèque personnalisée qui est référencé à partir - une application ASP.NET MVC - une application API Web ASP.NETMixage d'étendues d'injecteur simples dans MVC, API Web et OWIN
Cette bibliothèque a une implémentation NinjectModule qui présente une déclaration comme le
suivantBind<MyDataContext>().To<MyDataContext>().InRequestScope();
Ma question concerne la durée de vie InRequestScope(). Comme je l'ai lu sur la documentation SimpleInjector, pour le ASP.NET MVC application est suggéré d'utiliser WebRequestLifestyle
comme l'option DefaultScopedLifestyle
alors qu'il est suggéré AsyncScopedLifestyle pour le Web API.
également lors de l'utilisation Owin, ce qui est mon cas dans les deux applications, la documentation suggère d'envelopper tout dans un bloc comme
app.Use(async (context, next) => {
using (AsyncScopedLifestyle.BeginScope(container)) {
await next();
}
});
Pour ma compréhension, cela signifie:
- chaque enregistrement doit être enregistré avec le mode de vie
Lifestyle.Scoped
- Les deux applications doivent permettre la résolution des instances de portée via le bloc de code
app.Use(...)
Est-ce correct?
Très bien. Merci beaucoup Steven! – Lorenzo