Je veux créer une instance de PerRequestResourceProvider en utilisant InRequestScope ninject:ASP.NET MVC + Ninject: InRequestScope
public class PerRequestResourceProvider: IPerRequestResourceProvider
{
priavte readonly _perRequestResorceInstance;
public PerRequestResourceProvider()
{
_perRequestResorceInstance = new PerRequestResource();
}
public PerRequestResource GetResource()
{
return _perRequestResorceInstance;
}
}
public interface IPerRequestResourceProvider
{
PerRequestResource GetResource();
}
Dans mon NinjectDependencyResolver:
.....
kernel.Bind<IPerRequestResourceProvider>.To<PerRequestResourceProvider>().InRequestScope();
J'injectent IPerRequestResourceProvider dans quelques classes. Mais lorsque j'ajoute un point d'arrêt au constructeur PerRequestResourceProvider, je vois que PerRequestResourceProvider est créé trois fois au cours d'une requête et non par requête. Qu'est-ce qui ne va pas?
Mise à jour: code source: TTP //bitbucket.org/maximtkachenko/ninjectinrequestscope/src
Si c'est le cas, vous devriez publier un échantillon minimal - mais complet - qui reproduit le problème. Pour que nous/vous puissiez créer un rapport de bug @ ninject ou vous aider à résoudre le problème. Vous pouvez créer une solution minimale, la télécharger et la lier. – BatteryBackupUnit
@BatteryBackupUnit J'ai ajouté le code source https://bitbucket.org/maximtkachenko/ninjectinrequestscope/src – mtkachenko
@BatteryBackupUnit J'ai corrigé le con- ducteur HomeController mais le résultat est le même: Le constructeur PerRequestResourceProvider est appelé 3 fois pendant la requête. – mtkachenko