如何将依赖注入到global.asax.cs,即MvcApplication类中?
之前我使用服务定位器(反)模式进行依赖注入,但在我的最新MVC应用程序中,我尝试通过使用IOC容器(具体来说是Unity.Mvc3,因为它自带IDependencyResolver的实现)和构造函数注入来遵循最佳实践建议。
到目前为止,一切都似乎相当简单,只有几个小问题,其中一个是在global.asax.cs中(另一个问题是针对自定义属性,但已经有一个关于这个问题的SO问题)。MvcApplication类中的HttpApplication事件处理程序如下:
之前我使用服务定位器(反)模式进行依赖注入,但在我的最新MVC应用程序中,我尝试通过使用IOC容器(具体来说是Unity.Mvc3,因为它自带IDependencyResolver的实现)和构造函数注入来遵循最佳实践建议。
到目前为止,一切都似乎相当简单,只有几个小问题,其中一个是在global.asax.cs中(另一个问题是针对自定义属性,但已经有一个关于这个问题的SO问题)。MvcApplication类中的HttpApplication事件处理程序如下:
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>();
}
}
非常感谢您提供的任何帮助和建议!