Ссылка на параметры действия из ExceptionLogger
Я хочу использовать новый метод для глобальной регистрации ошибок. Я написал класс, который наследуетExceptionLogger
и переопределяетLog()
метод. Затем зарегистрировал его как замену.
public class TraceExceptionLogger : ExceptionLogger
{
public async override void Log(ExceptionLoggerContext context)
{
// This is always empty string
var content = await context.Request.Content.ReadAsStringAsync();
// This is almost always null
var actionContext = context.ExceptionContext.ActionContext;
}
}
Я могу копаться вExceptionLoggerContext
Свойства объекта, чтобы получить почти все, что мне нужно, за исключением параметров действий. Действительно естьActionContext
свойство, но я видел только ноль иэта вики-страница говорится, чтоActionContext
а такжеControllerContext
почти всегда будет нулевым.
Кроме того, я не могу получить поток контента, потому что его поток уже прочитан, прежде чем он попадет в мой регистратор. Поэтому я не могу получить какой-либо опубликованный JSON из содержимого запроса.
Есть ли способ получить опубликованные данные изHttpContext.Current
или как-то иначе?