Использование внедрения зависимостей с обработчиками Http - PullRequest
4 голосов
/ 25 сентября 2010

Я использую ASP.NET MVC 2 с Ninject и Linq2SQL за шаблоном репозитория, основанным на сайте стартапа Роб Конери TekPub .

С контроллерами все работает нормально, однако у меня есть HTTP-обработчик (он обслуживает и изменяет размеры изображений из БД), и я понятия не имею, как использовать Ninject для замены интерфейса ISession на конкретный экземпляр моей LinqToSQLSession.

Как мне лучше всего это сделать?

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Этот SO вопрос касается использования ninject с HttpHandlers: Инъекция свойства HttpHandler с использованием Ninject, возвращающего нуль

Хотелось бы дать вам лучший ответ, но, надеюсь, этого будет достаточно, чтобы получитьты идешь.Удачи!

1 голос
/ 25 сентября 2010

Используйте свойство инъекции. Я использовал его с StructureMap, но Ninject должен поддерживать его

Определите базовый класс для ваших обработчиков http и подключите туда DI.

Обновление:

Проверьте здесь, что такое свойство инъекции по сравнению с другими типами инъекции: http://wiki.github.com/ninject/ninject/injection-patterns

В базовом классе для обработчиков вам нужно взять свой недействительный экземпляр IKernel и вызвать .Inject (this) при инициализации.

...