asp.net-mvc – asp.net mvc – 如何强制执行控制器层超类型
发布时间:2020-12-16 03:33:57 所属栏目:asp.Net 来源:网络整理
导读:我想使用扩展Controller的类作为我项目中控制器的默认基类型,而不是使用Controller本身.所以,我会这样做: public class FooController : MyBaseController 有没有办法可以强制执行此操作,以便人们无法创建直接扩展Controller的控制器? 解决方法 但是我更喜
我想使用扩展Controller的类作为我项目中控制器的默认基类型,而不是使用Controller本身.所以,我会这样做:
public class FooController : MyBaseController 有没有办法可以强制执行此操作,以便人们无法创建直接扩展Controller的控制器? 解决方法
但是我更喜欢单元测试方法
above这里是另一个使用自定义控制器工厂.
public class MyControllerFactory<T> : DefaultControllerFactory where T : Controller { #region Overrides of DefaultControllerFactory protected override IController GetControllerInstance(RequestContext requestContext,Type controllerType) { if (!typeof(T).IsAssignableFrom(controllerType)) { throw new NotSupportedException(); } return base.GetControllerInstance(requestContext,controllerType); } #endregion } 您可以在Global.asax的应用程序启动方法中进行设置,如下所示: ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory<MyBaseController>()); 当然,当不从MyBaseController派生时,这会导致运行时异常,这可能不适合您当前的场景. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 当两个网格位于同一页面时进行排序
- asp.net-mvc – IDisposable ASP.net MVC控制器
- asp.net – 请求变量中的查询字符串
- asp.net-mvc – ASP.NET MVC和LINQ一般问题
- Asp.net核心IIS 8.5:找不到视图“索引”
- asp.net-mvc-4 – 未终止字符串常量MVC4 Razor视图引擎
- asp.net-mvc – 如何在点击电子邮件超链接时打开outlook
- asp.net – 在哪里可以为Delphi Prism定义条件编译常量?
- asp.net – Global.asax PostAuthenticateRequest事件绑定是
- asp.net-mvc – jQuery $.get调用Controller中的方法
推荐文章
站长推荐
- asp.net-mvc – Route Constraint Isnt适用于ASP
- 在ASP.net“正确”中实现OpenID – 会员或验证提
- asp.net – 如何为外部依赖项使用依赖注入?
- asp.net-mvc-4 – 具有动态部分视图创建的MVC Aj
- ASP.NET:global.asax中的Access Session变量
- asp.net-mvc – 比ASP.NET MVC中的隐藏表单字段更
- asp.net-mvc – 为什么WebViewPage在MVC3中是抽象
- asp.net-mvc – AntiForgeryToken在ASP.Net MVC
- 在同一台物理计算机上的应用程序(asp.net)之间共
- asp.net-mvc-3 – MVC3比MVC2有什么优势?
热点阅读