Если вам нужно иметь дело с вашими моделями, вы, вероятно, будете иметь дело с большей частью в рамках одного контроллера (разве все ваши контроллеры используют одинаковые типы моделей?). Альтернативный подход заключается в переопределении методов OnActionExecuting()
и OnActionExecuted()
самих контроллеров. Это позволяет вам сохранить свою бизнес-логику в области действия контроллера.
Обычно ActionFilters используются для сквозных задач - то, что вы хотите запустить для многих методов действий, независимо от того, где они существуют в приложении. Поэтому, если ваша логика санации модели не применима ко многим контроллерам и действиям, или не является очень общей (что, возможно, так и есть, в этом случае ваш подход, вероятно, хорош), вы можете захотеть вывести ее из фильтров и в свои контроллеры. Если это что-то, что может применяться в широком смысле, тогда ActionFilter вполне подойдет.