首页 > 代码库 > C# mvc统一通道使用过滤器
C# mvc统一通道使用过滤器
问题描述
使用C#过滤器有一个最大的问题就是在过滤器转向后程序仍然会执行方法体
问题解决思路
使用统一通道执行方法 不直接进入控制器 通过反射调用
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Web; using System.Web.Mvc; namespace WebApplication2.Controllers { public class DefaultController : Controller { bool filter = true; protected override void OnActionExecuting(ActionExecutingContext filterContext) { filter = false; Type t = typeof(DefaultController); MethodInfo mf = t.GetMethod("Index"); mf.Invoke(this,null); } // GET: Default public ActionResult Index() { //Response.Write("我就是我"); //Response.Flush(); return View(); } } }
对于反射调用方法可使用缓存进行优化
C# mvc统一通道使用过滤器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。