Recently, I upgraded one of my MVC3 projects from Ninject 2 to Ninject 3.
After a couple of minutes trying to find why InRequestScope was not anymore available, I found that this is now an extension of Ninject.Web.Common.
Now, when I try to run the application, Ninject works like if all types binded with a scope InRequest would be InTransientScope; a new instance was created each time.
In my class that inherits from NinjectModule, I have a simple bind like that:
Bind<ViewModel.Activity>().ToSelf().InRequestScope();
In my controller, I have 2 properties of the type ViewModel.Activity marked with Ninject attribute.
[Inject]
public ViewModel.Activity Activity { get; set; }
[Inject]
public ViewModel.Activity Activity1 { get; set; }
If I looked in debug mode the value of the HashCode of both the two properties, there all have different value but HttpContext is the same; I'm in the same request.
What I missed about how to use correctly the new Ninject.Web.Common.InRequestScope with the new version of Ninject 3?
Thank you very much.