如果请求生命周期中的某个位置引发了异常,则HttpActionExecutedContext
会有null
响应。
public class MyExceptionFilterAttribute : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext httpActionExecutedContext)
{
// Get expected return type here
// Can't be httpActionExecutedContext.Response.GetType() because response is null
}
}
我尝试做的是返回相同的预期对象,但是在对象的某个字段中创建了错误。
有没有办法弄清楚预期的响应类型是什么?
答案 0 :(得分:2)
您寻求的信息在提供的上下文中。你只需要更深入地在动作描述符中找到它。
public class MyExceptionFilterAttribute : ExceptionFilterAttribute
public override void OnException(HttpActionExecutedContext httpActionExecutedContext) {
// Get expected return type here
var expectedReturnType = httpActionExecutedContext.ActionContext.ActionDescriptor.ReturnType;
}
}