ASP.NET MVC Service locator для внедрения зависимостей в веб-обработчик - PullRequest
2 голосов
/ 24 марта 2012

Раньше у меня было стандартное приложение ASP.NET MVC 3, которое было подключено через Ninject через ловушку WebActivators preAppStart.Мои контроллеры были внедрены в зависимости через внедрение конструктора - классика.

Однако мне не нужно обрабатывать некоторые запросы через веб-обработчик .ashx.Как известно из нескольких обсуждений здесь, посвященных SO, единственный способ внедрить его в обработчик - через экземпляр локатора службы.

Что если мне нужно ввести именно тот экземпляр, который был создан в ядре Ninject для контроллеров?

Мой ISessionChecker связан с XmlSessionChecker в области действия Singleton в модуле ninject, модуль загружается в ядро, а ядро ​​загружается в приложение ASP.NET MVC в app_start.

ТеперьМне нужны мои обработчики, чтобы найти этот самый экземпляр XmlSessionChecker из глобального ядра.Можно ли как-нибудь получить это ядро ​​в качестве локатора службы?

1 Ответ

1 голос
/ 24 марта 2012

Что ж, получается, что я мог бы просто использовать System.Web.Mvc.DependencyResolver.Current.GetService, чтобы найти свою зависимость, как в любом другом приложении MVC 3.

...