📜  ASP.Net操作筛选器

📅  最后修改于: 2020-12-28 00:46:58             🧑  作者: Mango

ASP.NET MVC操作筛选器

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

@{ Response.Write( DateTime.Now.ToString("T")); }

输出:

它产生以下输出并将其缓存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();
        }
    }
}

输出:

此属性将限制未经授权的用户访问。该应用程序将重定向到登录页面以进行身份验证。