第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何有選擇地禁用ASP.Net MVC中的全局篩選器

如何有選擇地禁用ASP.Net MVC中的全局篩選器

開(kāi)滿(mǎn)天機(jī) 2019-12-27 09:33:52
我為我打開(kāi)和關(guān)閉NHibernate會(huì)話(huà)的所有控制器動(dòng)作設(shè)置了全局過(guò)濾器。這些操作中有95%需要某些數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限,但5%則不需要。是否有任何簡(jiǎn)單的方法可以針對(duì)這5%禁用此全局過(guò)濾器。我可以反過(guò)來(lái),只裝飾需要數(shù)據(jù)庫(kù)的操作,但這將需要更多工作。
查看完整描述

3 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以編寫(xiě)一個(gè)標(biāo)記屬性:


public class SkipMyGlobalActionFilterAttribute : Attribute

{

}

然后在全局操作過(guò)濾器中測(cè)試操作中是否存在此標(biāo)記:


public class MyGlobalActionFilter : ActionFilterAttribute

{

    public override void OnActionExecuting(ActionExecutingContext filterContext)

    {

        if (filterContext.ActionDescriptor.GetCustomAttributes(typeof(SkipMyGlobalActionFilterAttribute), false).Any())

        {

            return;

        }


        // here do whatever you were intending to do

    }

}

然后,如果要從全局過(guò)濾器中排除某些操作,只需用marker屬性裝飾它即可:


[SkipMyGlobalActionFilter]

public ActionResult Index()

{

    return View();

}


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

雖然,達(dá)林·迪米特洛夫(Darin Dimitrov)接受的答案很好,而且效果很好,但是對(duì)我來(lái)說(shuō),這里建立的最簡(jiǎn)單,最有效的答案。


您只需要在邏輯開(kāi)始之前向?qū)傩蕴砑右粋€(gè)布爾屬性并對(duì)其進(jìn)行檢查:


public class DataAccessAttribute: ActionFilterAttribute

{

    public bool Disable { get; set; }


    public override void OnActionExecuting(ActionExecutingContext filterContext)

    {

        if (Disable) return;


        // Your original logic for your 95% actions goes here.

    }

}

然后按照5%的操作使用,如下所示:


[DataAccessAttribute(Disable=true)]

public ActionResult Index()

{            

    return View();

}


查看完整回答
反對(duì) 回復(fù) 2019-12-27
  • 3 回答
  • 0 關(guān)注
  • 500 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)