C# mvc统一通道使用过滤器

Posted xuelei被占用了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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统一通道使用过滤器的主要内容,如果未能解决你的问题,请参考以下文章

MVC过滤器使用案例:统一处理异常顺道精简代码

使用 C# 在 ASP.NET MVC 中使用多个参数过滤数据

来自 C# 应用程序的 UWF 统一写入过滤器访问

C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

MVC 中的 KENDO UI 网格:有没有办法在某些列上隐藏过滤器?

C#获取类以及类下的方法(用于Asp.Net MVC)