Ninject 3 InRequestScope nie zwraca tej samej instancji dla tego samego żądania

Ostatnio zaktualizowałem jeden z moich projektów MVC3 z Ninject 2 do Ninject 3.

Po kilku minutach próby znalezienia przyczyny, dla której InRequestScope nie było już dostępne, odkryłem, że jest to teraz rozszerzenie Ninject.Web.Common.

Teraz, gdy próbuję uruchomić aplikację, Ninject działa tak, jakby wszystkie typy powiązane z zasięgiem InRequest miały postać InTransientScope; za każdym razem tworzona była nowa instancja.

W mojej klasie, która dziedziczy z NinjectModule, mam proste powiązanie w ten sposób:

Bind<ViewModel.Activity>().ToSelf().InRequestScope();

W moim kontrolerze mam 2 właściwości typu ViewModel.Activity oznaczone atrybutem Ninject.

  [Inject]
  public ViewModel.Activity Activity { get; set; }

  [Inject]
  public ViewModel.Activity Activity1 { get; set; }

Jeśli spojrzałem w trybie debugowania na wartość HashCode obu właściwości, to wszystkie mają inną wartość, ale HttpContext jest taki sam; Jestem w tej samej prośbie.

Co przegapiłem o tym, jak prawidłowo używać nowego Ninject.Web.Common.InRequestScope z nową wersją Ninject 3?

Dziękuję Ci bardzo.

questionAnswers(2)

yourAnswerToTheQuestion