如何在ExceptionLogger中返回自定义响应
本文关键字:返回 自定义 响应 ExceptionLogger | 更新日期: 2023-09-27 18:06:30
在Log方法中没有上下文。
如何返回自定义响应,如:
当我的Log方法被调用时,我想将id传递给当前请求。问题是我如何获得请求的内容实例,传递它的id?
这是导致异常的操作:
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);
}
}
如果您正在使用System。基于Web的栈(如果您使用IIS和ASP,可能就是这种情况)。. NET版本<5),您可以使用
在任何地方获得对请求和响应的引用。HttpContext.Current
对象。
ExceptionLoggerContext暴露了ExceptionContext,它暴露了Request和RequestContext。这就够了吗?