日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8. Action过滤

發布時間:2023/12/2 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8. Action过滤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Action過濾

原文: http://quickstarts.asp.net/3-5-extensions/mvc/ActionFiltering.aspx

1. 介紹
一般Action與用戶動作是一對一的關系,用戶的某一個動作對應一個特定的Action.
然而,有時你可能會希望在Action執行的前后執行指定的操作,MVC中可以通過Action過濾器來實現這個功能.
Action過濾器是一個自定義的Attribute,它的應用范圍包括:日志,身份認證和授權,輸出緩存,Web抓取過濾,本地化,動態Action等.

2. 實現一個Action過濾器
Action過濾器必須派生自ActionFilterAttribute抽象類,并實現OnActionExecutingOnActionExecuted兩個方法。一個示例如下:
public class LoggingFilterAttribute :
{
public override void (FilterExecutingContext filterContext)
{
filterContext.HttpContext.Trace.Write("Starting: " +
filterContext.ActionMethod.Name);
}

public override void (FilterExecutedContext filterContext)
{
if (filterContext.Exception != null)
{
filterContext.HttpContext.Trace.Write("Exception thrown");
}
}
}3. Action過濾器上下文
過濾器上下文包括FilterExecutingContext和FilterExecutedContext兩個,他們都派生自FilterContext類,提供ActionMethod屬性,用于獲取Action方法的信息。
FilterExecutingContext包含一個Cancel屬性,允許你取消正在執行的Action。
FilterExecutedContent包含ExceptionExceptionHandled屬性。若Action執行期間沒有錯誤發生,則Exception屬性為null,若Exception屬性不為null,且其他過濾器已經處理過這個異常,則ExceptionHandled屬性的值為true。

4. 在控制器中使用過濾器
給需要使用過濾器的Action方法加上想要的過濾器Attribute即可。如:
public class HomeController : Controller
{

public void Index()
{
RenderView("Index");
}
}5. 實現“控制器級”的過濾器
可能出現一種情況:控制器中的所有Action方法都需要同一個過濾器。這是可以通過重寫控制器類的OnActionExecutingOnActionExecuted方法來實現過濾器。

6. Action過濾器的范圍
過濾器是可繼承的。

7. 過濾器的執行順序
過濾器提供了Order順序來指定多個過濾器的執行順序。Order的值必須為0或正數,若Order為-1,則表明不指定該過濾器的執行順序,它將在所有被指定順序的過濾器執行之后執行。另外,若兩個過濾器的Order值相同將會產生異常。一個例子如下:
[Filter1()]
[Filter2()]
[Filter3()]
public void Index()
{
RenderView("Index");
}另外,過濾器的兩個方法以及“控制器級”的過濾器的兩個方法之間的執行順序也有規定,詳見原文。

8. 過濾器執行順序的例子

轉載于:https://www.cnblogs.com/na57/archive/2008/05/06/1185425.html

總結

以上是生活随笔為你收集整理的8. Action过滤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。