asp.net-mvc-3 – 如何注入依赖项到global.asax.cs
发布时间:2020-05-25 00:33:36 所属栏目:asp.Net 来源:互联网
导读:如何注入依赖关系到global.asax.cs,即MvcApplication类? 以前使用服务定位器(反)模式的依赖注入,我试图通过使用IOC容器(特别是Unity.Mvc3,因为它附带的IDependencyResolver的实现,从最后的MVC应用程序的最佳实践建议框)和构造函数注入。 除了一些阻碍,
|
如何注入依赖关系到global.asax.cs,即MvcApplication类? 以前使用服务定位器(反)模式的依赖注入,我试图通过使用IOC容器(特别是Unity.Mvc3,因为它附带的IDependencyResolver的实现,从最后的MVC应用程序的最佳实践建议框)和构造函数注入。 除了一些阻碍,其中一个是在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>();
}
}
任何帮助/建议非常感谢! 解决方法你的global.asax.cs中的类是你的 Composition Root,所以你不能(也不应该)从外面注入任何东西。但是,MvcApplication类只有一个实例,因此如果您需要在其中一个方法中使用服务,则只需将其声明为成员字段,例如: public class MvcApplication : System.Web.HttpApplication
{
private readonly ILogService log;
public MvcApplication()
{
this.log = new MyLogService();
}
protected void Application_Start()
{
// ...
this.log.Log("Application started");
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – SelectedValue是无效的,因为它不存在于项目列表
- AspNet Core在内存中使用,用于在IIS中运行时进行数据保护
- asp.net – 获取客户端隐藏字段的值
- asp.net – ViewState作为属性
- 在预编译asp.net网站 – 是否重要?
- asp.net-mvc-3 – ASP.NET MVC 3:在需要模型外部的信息时验
- 哪些ASP.NET生命周期事件在HttpApplication.Error之后发生?
- asp.net-mvc – 从Asp.Net Mvc应用程序找不到DataContractJ
- asp.net-mvc – ASP.NET MVC – 结合Json结果与ViewResult
- 如何在ASP.Net MVC中执行301永久重定向路由
推荐文章
站长推荐
- asp.net-mvc-4 – ModelBinder和子模型
- asp.net-mvc – DotNetOpenAuth:消息签名不正确
- asp.net-mvc – 使用没有ORM的ASP.NET MVC
- asp.net-mvc – 如何使用Visual Studio 2013和En
- asp.net-mvc – 是否可以在MVC和Webforms之间共享
- 如何从ASP .NET网站检测客户端上安装的Java运行时
- asp.net web-api – ASP.Net Web API模型绑定不工
- 如何在ASP.NET MVC4项目之间共享HTML
- asp.net – 初学者指南,了解如何在Visual Studio
- asp.net – Telerik RadAjaxManager仍然回发
热点阅读
