Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20928|Răspunde: 3

[ASP.NET] mvc custom filter clasa ActionFilterAttribute

[Copiază linkul]
Postat pe 06.01.2016 15:32:33 | | |

În cazul în care filtrele introduse anterior nu îndeplinesc cerințele, acest filtru personalizat ar trebui să fie util dacă vrei să-ți definești propria logică de procesare înainte și după ce metoda de comportament este executată și returnată. Pentru a personaliza un filtru, moștenești clasa ActionFilterAttribute, care este o clasă abstractă ce implementează interfețele IActionFilter și IResultFilter, în principal prin rescrierea celor patru metode virtuale pentru a obține logica de injectare înainte și după executarea și revenirea metodei de comportament

metodă
parametru
descriere
OnActionExecuting
AcțiuneExecutândContext
Executați înainte ca metoda comportamentală să fie executată
OnActionExecuted
AcțiuneExecutatContext
Execută după ce metoda comportamentală este executată
OnResultExecuting
ResultExecutingContext
Executați înainte ca metoda de comportament să revină
OnResultExecuted
RezultatExecutatContext
Execută după ce metoda de comportament este returnată

Cele patru metode sunt executate în ordinea OnActionExecuting>OnActionExecuted>OnResultExecuting>OnResultExecuted. Argumentele celor patru metode de mai sus sunt moștenite din clasa ContollorContext. De exemplu, un filtru personalizat este definit mai jos



Metodele comportamentale de utilizare sunt definite mai jos








Precedent:Linode, un cunoscut furnizor de servicii de găzduire, este suspectat că a fost spart, iar utilizatorii trebuie să-și schimbe parolele cât mai curând posibil
Următor:Memcache analizează toate metodele cheie enumerate
 Proprietarul| Postat pe 25.10.2016 10:00:36 |
 Proprietarul| Postat pe 10.08.2019 22:16:41 |
Ordinea de execuție a filtrului .NET MVC:

IAuthorizationFilter(OnAuthorization)----->IActionFilter(OnActionExecuting)---->

Controller Action()---->IActionFilter(OnActionExecuted) ---->IResultFilter(OnResultExecuting) ---->

view()---->IResultFilter(OnResultExecuted)

În plus, aceeași ordine de execuție a filtrului: de sus în jos, principiul proximității:




Filter2=>Filter1
Postat pe 26.08.2019 13:24:19 |
Mark, învățat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com