asp.net – IControllerFactory’MyWebSite.WebUI.Infrastructur
发布时间:2020-12-15 19:58:46 所属栏目:asp.Net 来源:网络整理
导读:当我尝试在区域中的控制器中打开视图时,我得到了上述内容. Ninject设置如下: public class NinjectControllerFactory : DefaultControllerFactory{ private IKernel kernel = new StandardKernel(new RLSBCWebSiteServices()); protected override IControl
当我尝试在区域中的控制器中打开视图时,我得到了上述内容. Ninject设置如下:
public class NinjectControllerFactory : DefaultControllerFactory { private IKernel kernel = new StandardKernel(new RLSBCWebSiteServices()); protected override IController GetControllerInstance(RequestContext context,Type controllerType) { if (controllerType == null) return null; return (IController)kernel.Get(controllerType); } private class MyWebSiteServices : NinjectModule { public override void Load() { Bind<IMatchesRepository>().To<SqlMatchesRepository>().WithConstructorArgument("connectionString",ConfigurationManager.ConnectionStrings["MyWebSiteDb"].ConnectionString); } } } 如果我在代码中放置断点,我看到RequestContext上下文包含以下值: context.RouteData.DataTokens.Values[0] = “MyWebSite.WebUI.Areas.Visitor” context.RouteData.DataTokens.Values[1] = “Visitor” which is the Area context.RouteData.Values.Values[0] = “admin” which is the Controller context.RouteData.Values.Values[1] = “register” which is the View 但是,controllerType == null,而不是控制器名称. 这个转移到新页面的过程是由 Html.ActionLink("here","Register","Admin",new { area = "Visitor" },null) 在登录页面上.但是如果我进入就会发生同样的事情 http://example.com/Visitor/admin/register 进入IE8 地区登记如下: public class VisitorAreaRegistration : AreaRegistration { public override string AreaName { get { return "Visitor"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Visitor_default","Visitor/{controller}/{action}/{id}",new { controller = "Admin",action = "Register",id = UrlParameter.Optional } ); } } 有没有人设法让区域使用NinjectControllerFactory,或者我的设置有问题? 解决方法
而不是创建自己的NinjectControllerFactory使用最新版本的Ninject.Web.Mvc.它支持区域.见:
https://github.com/ninject/ninject.web.mvc
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Web.config中的瑞典语文本
- asp.net-mvc – Asp.Net Mvc – Html.TextBox – 设置自动对
- asp.net-mvc – 如何单元测试MSTest中的JsonResult和集合
- 如何在asp.net中向客户端发送“拒绝访问”的http响应?
- asp.net-mvc – asp.net MVC 3中视图模型的范围
- 当将单字节添加到响应中时,ASP.NET WebAPI输出的速度会降低
- asp.net – 让visual studio autoformat成为我的源代码?
- 使用Asp.Net文本框的Bootstrap Datepicker
- asp.net-mvc-3 – FluentValidation入门问题
- asp.net – 我何时可以在Response.WriteFile()中使用它后删
推荐文章
站长推荐
- 在ASP.NET中为命中计数器实现存储的最佳方法是什
- 带有allowCustomSqlDatabase =“true”的ASP.NET
- asp.net-core – 在JsonPatchDocument中使用.Net
- .NET Core全新的配置管理[共9篇]
- asp.net – 移动ModalPopup在IFrame之外 可能?
- asp.net-3.5 – 我可以查看soap wcf调用发出的原
- asp.net-mvc-5 – Visual Studio 2015 MVC项目模
- asp.net-mvc – 使用ASP.NET MVC3进行客户端模型
- asp.net-core – Asp.Net 5 MVC 6 Startup.cs Be
- asp.net – 在未经授权的请求后禁止NTLM对话框
热点阅读