Внутри метода журнала нет контекста.Response = MyResponse;Как вернуть пользовательский ответ внутри ExceptionLogger
Как вернуть пользовательский ответ, как:
Когда мой метод входа называется я хочу передать идентификатор для текущего запроса. Проблема в том, как я могу получить экземпляр содержимого запроса, передать ему идентификатор?
То действие вызывает исключение:
public async Task<IHttpActionResult> GetConfiguredProducts(int number)
{
var products = await service.Get(number);
return Ok(products);
}
public class GlobalExceptionLogger : ExceptionLogger
{
private static int id;
public override void Log(ExceptionLoggerContext context)
{
Interlocked.Increment(ref id);
loggingService.ErrorException(string.Format("id: {0}", id), context.Exception);
}
}
Можете ли вы показать пример, как вы это называете? – Krzysztof
Я написал метод полного действия, выше которого вызывается в качестве примера. – Elisabeth
Я не уверен, что понимаю вопрос. Там * нет ответа * на журнал - исключения ExceptionLogger регистрируются * необработанные * исключения. Это означает, что ваш код разбился, прежде чем он смог создать и отправить ответ. Запрос, хотя и доступен через [ExceptionLoggerContext.Request] (https://msdn.microsoft.com/en-us/library/system.web.http.exceptionhandling.exceptionloggercontext.request (v = vs.118) .aspx # P: System.Web.Http.ExceptionHandling.ExceptionLoggerContext.Request). –