Как мне вставить зависимости в global.asax.cs, то есть класс MvcApplication?
Ранее использовав шаблон Service Locator (anti-) для внедрения зависимостей, я пытаюсь следовать рекомендациям передового опыта в своем последнем приложении MVC, используя контейнер IOC (в частности, Unity.Mvc3, поскольку он поставляется с реализацией IDependencyResolver). из коробки) и конструктор впрыска.
Пока что все выглядит довольно просто, за исключением пары препятствий, одна из которых находится в global.asax.cs (другая - для пользовательских атрибутов, но уже есть вопрос о том, как это сделать).
Обработчики событий HttpApplication в классе MvcApplication, такие как:
Application_Start()
Application_EndRequest(object sender, EventArgs e)
Application_AcquireRequestState(object sender, EventArgs e)
может потребовать внешних зависимостей, например, зависимость от ILogService. Итак, как мне внедрить их, не прибегая к шаблону поиска служб (анти), например,
private static ILogService LogService
{
get
{
return DependencyResolver.Current.GetService<ILogService>();
}
}
Любая помощь / совет с благодарностью!