asp.net mvc动作过滤器

本文概述

  • OutputCache示例
  • 授权示例
MVC框架提供了filter属性,以便我们可以过滤用户请求。我们可以将其应用于单个动作或整个控制器。它完全修改了调用动作的方式。
ASP.NET MVC框架提供以下操作筛选器。
OutputCache:使控制器的动作输出在指定时间内可缓存。
HandleError:用于处理执行控制器动作时引发的错误。
授权:仅允许用户访问资源。
OutputCache示例在这里,我们正在实现OutputCache,它将在指定的时间缓存操作方法的输出。操作代码如下:
// MusicStoreController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class MusicStoreController : Controller { [OutputCache(Duration =10)] public ActionResult Index() { return View(); } } }

它呈现具有以下代码的索引文件。
// index.cshtml
< h4> @{ Response.Write( DateTime.Now.ToString("T")); } < /h4>

输出:
它产生以下输出并将其缓存10秒钟。即使我们一次又一次刷新网页,它也不会在10秒前更改。
asp.net mvc动作过滤器

文章图片
授权示例现在,我们将authorize属性应用于action方法,代码如下。
// MusicStoreController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class MusicStoreController : Controller { [Authorize] public ActionResult Index() { return View(); } } }

输出:
【asp.net mvc动作过滤器】此属性将限制未经授权的用户访问。该应用程序重定向到登录页面以进行身份??验证。
asp.net mvc动作过滤器

文章图片

    推荐阅读