|
Nel caso in cui i filtri introdotti prima non soddisfino i requisiti, questo filtro personalizzato dovrebbe essere utile se vuoi definire la tua logica di elaborazione prima e dopo l'esecuzione e il ritorno del metodo di comportamento. Per personalizzare un filtro, si eredita la classe ActionFilterAttribute, che è una classe astratta che implementa le interfacce IActionFilter e IResultFilter, principalmente riscrivendo i quattro metodi virtuali per ottenere la logica di iniezione prima e dopo l'esecuzione e il ritorno del metodo di comportamento metodo | parametro | descrizione | OnActionExecuting | AzioneEsecuzioneContesto | Esegui prima che il metodo comportamentale venga eseguito | OnActionEseguito | ActionExecutedContext | Esegui dopo che il metodo comportamentale è stato eseguito | OnResultExecuting | RisultatoContestoEsecuzione | Esegui prima che il metodo di comportamento restituisca | OnResultExecuted | RisultatoContestoEseguito | Esegui dopo che il metodo di comportamento è stato restituito |
I quattro metodi vengono eseguiti nell'ordine OnActionExecuting>OnActionExecuted>OnResultExecuting>OnResultExecuted. Gli argomenti dei quattro metodi sopra elencati sono ereditati dalla classe ContollorContext. Ad esempio, un filtro personalizzato è definito di seguito
I metodi comportamentali per utilizzarlo sono definiti di seguito
|