在Log方法中没有context.Response = MyResponse;
如何返回自定义响应,例如:
调用我的Log方法时,我想将id传递给当前请求。问题是如何获取Request的内容实例,将其传递给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);
}
}
答案 0 :(得分:0)
如果您使用的是基于System.Web的堆栈(如果您使用的是IIS和ASP.NET版本&lt; 5,则可能就是这种情况),您可以使用>在任何地方获得对请求和响应的引用p>
HttpContext.Current
对象。
答案 1 :(得分:0)
ExceptionLoggerContext公开ExceptionContext,它公开Request和RequestContext。这还够吗?