|
Σε περίπτωση που τα φίλτρα που παρουσιάστηκαν νωρίτερα δεν πληρούν τις απαιτήσεις, αυτό το προσαρμοσμένο φίλτρο θα σας φανεί χρήσιμο εάν θέλετε να ορίσετε τη δική σας λογική επεξεργασίας πριν και μετά την εκτέλεση και την επιστροφή της μεθόδου συμπεριφοράς. Για να προσαρμόσετε ένα φίλτρο, κληρονομείτε την κλάση ActionFilterAttribute, η οποία είναι μια αφηρημένη κλάση που υλοποιεί τις διεπαφές IActionFilter και IResultFilter, κυρίως ξαναγράφοντας τις τέσσερις εικονικές μεθόδους για την επίτευξη λογικής έγχυσης πριν και μετά την εκτέλεση και την επιστροφή της μεθόδου συμπεριφοράς μέθοδος | παράμετρος | περιγραφή | OnActionΕκτέλεση | ActionExecutingContext | Εκτέλεση πριν από την εκτέλεση της μεθόδου συμπεριφοράς | OnActionExecuted | ActionExecutedContext | Εκτέλεση μετά την εκτέλεση της μεθόδου συμπεριφοράς | OnResultExecution | ResultExecutingContext | Εκτέλεση πριν επιστρέψει η μέθοδος συμπεριφοράς | OnResultExecuted | ResultExecutedContext | Εκτέλεση μετά την επιστροφή της μεθόδου συμπεριφοράς |
Οι τέσσερις μέθοδοι εκτελούνται με τη σειρά OnActionExecuting>OnActionExecuted>OnResultExecuting>OnResultExecuted. Τα ορίσματα των παραπάνω τεσσάρων μεθόδων κληρονομούνται από την κλάση ContollorContext. Για παράδειγμα, ένα προσαρμοσμένο φίλτρο ορίζεται παρακάτω
Οι μέθοδοι συμπεριφοράς για τη χρήση του ορίζονται παρακάτω
|