Kna*_*ģis 15 c# asp.net asp.net-web-api
我有一个简单的API控制器方法
public async Task<Models.Timesheet> GetByDate(DateTime date, string user = null)
{
throw new InvalidOperationException();
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,我在自定义操作过滤器中或仅通过设置获得的异常堆栈跟踪IncludeErrorDetailPolicy.Always是这样的
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.ApiController.<InvokeActionWithExceptionFilters>d__1.MoveNext()
Run Code Online (Sandbox Code Playgroud)
它曾经比Web API v1好多了.在升级到v2之后,堆栈跟踪几乎无法使用 - 预计使用async/await时,堆栈跟踪将不会像过去那样,但在这种情况下,整个堆栈跟踪不包括任何提示,即使是类失败.是否可以在Web API中配置以缓解此问题?
这已在WebApi 2.1(程序集版本5.1.1)中修复
请按照以下说明升级到最新版本:https://www.nuget.org/packages/Microsoft.AspNet.WebApi
| 归档时间: |
|
| 查看次数: |
9721 次 |
| 最近记录: |