个性化阅读
专注于IT技术分析

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

<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();
        }
    }
}

输出:

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

赞(0)
未经允许不得转载:srcmini » asp.net mvc动作过滤器

评论 抢沙发

评论前必须登录!