|
В случай че въведените по-рано филтри не отговарят на изискванията, този персонализиран филтър би бил полезен, ако искате да дефинирате собствена логика на обработката преди и след изпълнението и връщането на поведенческия метод. За да персонализирате филтъра, се наследява класът ActionFilterAttribute, който е абстрактен клас, реализиращ интерфейсите IActionFilter и IResultFilter, главно чрез пренаписване на четирите виртуални метода, за да се постигне логика на инжектиране преди и след изпълнението и връщането на поведенческия метод. метод | параметър | описание | OnActionExecuting | ActionExecutingContext | Изпълнете преди поведенческият метод да бъде изпълнен | OnActionExecuted | ActionExecutedContext | Изпълнение след като поведенческият метод бъде изпълнен | OnResultExecuting | ResultExecutingContext | Изпълни се преди методът на поведение да се върне | OnResultExecuted | ResultExecutedContext | Изпълнете се след като методът на поведението бъде върнат |
Четирите метода се изпълняват в реда на OnActionExecuting>OnActionExecuted>OnResultExecuting>OnResultExecuted. Аргументите на горните четири метода са наследени от класа ContollorContext. Например, по-долу е дефиниран персонализиран филтър
Поведенческите методи за използване са дефинирани по-долу
|