本文概述
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秒前更改。
授权示例
现在,我们将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();
}
}
}
输出:
此属性将限制未经授权的用户访问。该应用程序重定向到登录页面以进行身份验证。
评论前必须登录!
注册