Я использую Ninject в проекте MVC3 в шаблоне хранилища.До сих пор Ninject работал очень хорошо.
Я настроил новый проект в решении, которое работает в своем собственном потоке и выполняет некоторую фоновую работу, но некоторые из этих вызовов требуют, чтобы я попал на свой уровень обслуживания (которыйвызывает мой слой хранилища).Когда я пытаюсь установить:
[Inject]
public IMyClass MyClass { get; set; }
в любом другом классе, он работает нормально, но когда я помещаю его в фоновый поток, он всегда возвращает ноль.У меня была похожая проблема некоторое время назад при использовании «Parallel.ForEach», но решение в то время было быстрым решением, поэтому я никогда не задумывался над решением основной причины.
Я пытался изменить этот код в моем Global.asax.cs:
Bind<IMyClass>().To<MyClass>();
на
Bind<IMyClass>().To<MyClass>().InThreadScope();
, но, похоже, это не имело никакого значения.
Есть мысли?