Для определенного набора действий мне необходимо регистрировать входящие запросы InputStream, а также исходящие Response.OutputStream.
Я предполагаю использовать для этого ActionFilterAttribute и переопределять методы OnActionExecuted и OnResultExecuted.
Итак, я начинаю с этой идеи ...
public class ActionLoggerAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
HttpRequestBase request = filterContext.HttpContext.Request;
// TODO: Log the Request.InputStream
}
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
base.OnResultExecuted(filterContext);
HttpResponseBase response = filterContext.HttpContext.Response;
// TODO: Log the Response.OutputStream
}
}
В идеале я просто подключу это к журналу Enterprise Library, так как я уже использую его для регистрации ошибок.
- Получаю ли я доступ к входным и выходным потокам в соответствующее время?
- Можно ли использовать корпоративную библиотеку для удобной регистрации потоков?
- Есть ли совсем другое и лучшее решение моей проблемы?
Спасибо!