📅  最后修改于: 2020-12-28 00:46:58             🧑  作者: Mango
MVC框架提供了filter属性,以便我们可以过滤用户请求。我们可以将其应用于单个动作或整个控制器。它完全修改了调用动作的方式。
ASP.NET MVC框架提供以下操作筛选器。
OutputCache:使控制器的动作输出在指定时间内可缓存。
HandleError:用于处理执行控制器动作时引发的错误。
授权:仅允许用户访问资源。
在这里,我们正在实现OutputCache ,它将在指定时间缓存操作方法的输出。操作代码如下:
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();
}
}
}
它呈现具有以下代码的索引文件。
@{
Response.Write( DateTime.Now.ToString("T"));
}
输出:
它产生以下输出并将其缓存10秒钟。即使我们一次又一次刷新网页,它也不会在10秒前更改。
现在,我们将authorize属性应用于action方法,代码如下。
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();
}
}
}
输出:
此属性将限制未经授权的用户访问。该应用程序将重定向到登录页面以进行身份验证。