В моем проекте MVC3 я настроил свое ядро на Ninject the Entityframework context на основе InRequestScope, это работает отлично, но у меня есть фоновый бегун, который выполняет некоторое управление рабочим процессом.
Он запускает новый поток каждые 5 минут, и я убираю свои зависимости в этот поток. Если я изменю область видимости на InThreadScipe, метод Dispose будет запущен, но если я верну его обратно на InRequestScope, метод Dispose не сработает.
Есть ли способ вернуться к InThreadScope, если InRequestScope недоступен?
Обновление: Только что получил голосование за этот вопрос, почему бы не добавить в него дополнительную информацию. Я думаю, что способ распоряжения временем жизни в Ninjects немного устарел. У других IoC есть дочерние контейнеры, которые были зарегистрированными временными объектами в течение всего дочернего контейнера и удаляются, когда дочерние контейнеры находятся. Это гораздо более простой способ объединения, например, веб-API с пользовательским рабочим, как в приведенном выше сценарии.