Использование Ninject в новом потоке возвращает ноль - PullRequest
0 голосов
/ 07 августа 2011

Я использую Ninject в проекте MVC3 в шаблоне хранилища.До сих пор Ninject работал очень хорошо.

Я настроил новый проект в решении, которое работает в своем собственном потоке и выполняет некоторую фоновую работу, но некоторые из этих вызовов требуют, чтобы я попал на свой уровень обслуживания (которыйвызывает мой слой хранилища).Когда я пытаюсь установить:

  [Inject]
  public IMyClass MyClass { get; set; }

в любом другом классе, он работает нормально, но когда я помещаю его в фоновый поток, он всегда возвращает ноль.У меня была похожая проблема некоторое время назад при использовании «Parallel.ForEach», но решение в то время было быстрым решением, поэтому я никогда не задумывался над решением основной причины.

Я пытался изменить этот код в моем Global.asax.cs:

 Bind<IMyClass>().To<MyClass>();

на

Bind<IMyClass>().To<MyClass>().InThreadScope(); 

, но, похоже, это не имело никакого значения.

Есть мысли?

...