如何注入依赖到global.asax.cs中,即MvcApplication类?如何注入依赖关系到global.asax.cs中
以前使用服务定位符(反)模式进行依赖项注入,我试图通过使用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>();
}
}
任何帮助/建议非常感谢!
嗨,有趣的问题!为什么不能在OnApplicationStarted中的global.asax内注入依赖关系?如果应用程序无法启动,您会意识到这一点,因为什么都不会起作用...... – 2011-10-13 09:32:51