Если вы хотите использовать подход, основанный на атрибутах, производные от ActionFilterAttribute и переопределить либо OnActionExecuted (запуск после выполнения действия, но до выполнения результата), либо OnResultExecuted (запуск после выполнения результата, например, после вид был представлен).
Если вы не идете по пути атрибутов, реализуйте IActionFilter или IResultFilter и реализуйте методы, упомянутые выше.
Вы можете получить доступ к выходному модулю записи / вывода через filterContext.HttpContext.Response.Output
или filterContext.HttpContext.Response.OutputStream
соответственно.