zoukankan      html  css  js  c++  java
  • MVC和Web API 过滤器Filter

    MVC和Web API Filter(过滤器)

    ASP.NET MVC 支持以下类型的操作筛选器:

    ·        授权筛选器。这些筛选器用于实现IAuthorizationFilter和做出关于是否执行操作方法(如执行身份验证或验证请求的属性)的安全决策。AuthorizeAttribute类和RequireHttpsAttribute类是授权筛选器的示例。授权筛选器在任何其他筛选器之前运行。

    ·        操作筛选器。这些筛选器用于实现IActionFilter以及包装操作方法执行。IActionFilter接口声明两个方法:OnActionExecuting和OnActionExecuted。OnActionExecuting在操作方法之前运行。OnActionExecuted在操作方法之后运行,可以执行其他处理,如向操作方法提供额外数据、检查返回值或取消执行操作方法。

    ·        结果筛选器。这些筛选器用于实现IResultFilter以及包装ActionResult对象的执行。IResultFilter声明两个方法:OnResultExecuting和OnResultExecuted。OnResultExecuting在执行ActionResult对象之前运行。OnResultExecuted在结果之后运行,可以对结果执行其他处理,如修改HTTP响应。OutputCacheAttribute类是结果筛选器的一个示例。

    ·        异常筛选器。这些筛选器用于实现IExceptionFilter,并在ASP.NET MVC管道执行期间引发了未处理的异常时执行。异常筛选器可用于执行诸如日志记录或显示错误页之类的任务。HandleErrorAttribute类是异常筛选器的一个示例。

    不同类型的筛选器

    ASP.NET MVC 框架支持四种不同类型的筛选器:

    1. 授权筛选器 — — 实现的IAuthorizationFilter属性。
    2. 操作筛选器 — — 实现的IActionFilter属性。
    3. 结果筛选器 — — 实现的IResultFilter属性。
    4. 异常筛选器 — — 实现的IExceptionFilter属性。

    特别注意:

    MVC中过滤器是system.web.Mvc.dll实现

           实现全局过滤器:App_Start文件夹下的FilterConfig.cs文件中

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)

    {

           //new Test_Mvc.Mvc_Filter()过滤器类的实例对象

          filters.Add(new Test_Mvc.Mvc_Filter());//--注册全局过滤器

    }

    Web Api 中过滤器 system.web.http.dll中的system.web.http.Filters实现,添加控制器时一定要注意:一定要选择空的API控制器。如果选择空的MVC控制器那么过滤器对该控制器失效。

           实现全局过滤器:Global.asax文件的:

    protected void Application_Start()

    {

        //new Test_Http.Http_Filter()过滤器类的实例对象

        GlobalConfiguration.Configuration.Filters.Add(newTest_Http.Http_Filter());//--注册全局过滤器

    }

     

    注意:

     

    [csharp] view plain copy
     
    1. using System.Net.Http;  
    2.   
    3. actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK, T value);  
  • 相关阅读:
    关于overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷等等)
    float详解
    五 使用并美化网页文本
    代码校验工具 SublimeLinter 的安装与使用
    Sublime Text3 快捷键
    word选择+快捷键
    Word1-提取图片文字
    javascript window对象属性和方法
    word教程字体和段落设置
    Word2 word输入公式+文字转表格
  • 原文地址:https://www.cnblogs.com/webenh/p/7497181.html
Copyright © 2011-2022 走看看