asp.net-mvc-2 – 使用Ninject返回null的HttpHandler属性注入
发布时间:2020-12-16 00:01:23 所属栏目:asp.Net 来源:网络整理
导读:我有以下httphandler: public class NewHandler : IHttpHandler{ [Inject] public IFile FileReader { get; set; } public NewHandler() { } public void ProcessRequest(System.Web.HttpContext context) { .... var something = SomeMethod(FileReader);
我有以下httphandler:
public class NewHandler : IHttpHandler { [Inject] public IFile FileReader { get; set; } public NewHandler() { } public void ProcessRequest(System.Web.HttpContext context) { .... var something = SomeMethod(FileReader); .... } public bool IsReusable { get { return true; } } } 这是我在Global.asax中的Ninject模块. internal class ServiceModule : NinjectModule { public override void Load() { Bind<IFile>().To<FileWrapper>().InSingletonScope(); } } 每次处理程序触发FileReader都是NULL.我错过了什么吗?这是使用Ninject进行属性注入的正确方法吗? 谢谢 解决方法
这是使用Ninject进行属性注入的正确方法,但它不起作用.您可能正在使用类似NinjectMvcApplication类的东西作为应用程序的基类,它处理控制器的依赖注入以及控制器可能使用的所有内容(服务,存储库).但是HttpHandlers没有被ControllerFactory实例化,因此没有任何东西可以处理注入事情.
也许有更好的方法,但我使用服务定位器来解决依赖.见http://code.dortikum.net/2010/08/05/asp-net-mvc-di-with-common-service-locator-and-ninject/. 更新: 尝试这样的事情: public class NewHandler : IHttpHandler { private readonly IFile _fileReader; public NewHandler() { _fileReader = ServiceLocator.Current.GetInstance<IFile>(); } public void ProcessRequest(System.Web.HttpContext context) { .... var something = SomeMethod(_fileReader); .... } public bool IsReusable { get { return true; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – IIS 6.0和ASPX中的404自定义错误不起作用
- asp.net – 如何使用angular2的http与应用程序主机端口之外
- 如何在ASP.NET WebService调用中动态初始化文化?
- 从动态添加的文本框中获取值asp.net c#
- asp.net-mvc – ASP.NET MVC 2 on mono
- asp.net – 从ASP .Net下载文件时,文本文件会附加HTML内容
- ASP.NET c#获取屏幕宽度(以像素为单位)
- nuget – 在部署的asp.net mvc解决方案中需要packages.conf
- 当ASP.NET验证失败时,更改文本框的css类
- asp.net – 在asp:Button中包装文本
推荐文章
站长推荐
- asp.net – 转义HTML实体并避免WebForm标签中的H
- asp.net – Autofac实例注册的SingleInstance()能
- asp.net-mvc – asp.net mvc 4应用程序的入口点是
- Asp.net成员资格表:aspnet_UsersInRoles未出现在
- 你真的了解ASP.NET Core 部署模型吗?
- iis-6 – IIS 6上的ASP.NET路由
- asp.net-mvc – 在活动的SignalR连接期间更改用户
- ASP.NET C#多项目解决方案.我应该把我的全局效用
- asp.net – 如何从内容页面访问母版页控件
- asp.net-mvc – 在ASP.NET MVC Web应用程序中托管
热点阅读