mar*_*ine 5 elmah async-await asp.net-mvc-4
我有如下操作:
public async Task<ActionResult> Pair(string id)
{
try
{
DocuSignAPIManager docuSignAPIManager = new DocuSignAPIManager();
DocuSignEsignatureAuthContainer authContainer = await docuSignAPIManager.Pair(User.Identity.Name, id).ConfigureAwait(false);
DocuSignManager.Instance.Pair(User.Identity.Name, authContainer);
}
catch(Exception e)
{
ErrorManager.Instance.LogError(e);
}
return new HttpStatusCodeResult(200);
}
Run Code Online (Sandbox Code Playgroud)
当调用该操作时,所有逻辑都被执行,但不是 HTTP 状态 200 代码,我收到以下信息:
System.Threading.Tasks.Task`1[System.Web.Mvc.ActionResult]
Run Code Online (Sandbox Code Playgroud)
为了进行测试,我只是使用以下 URL 从 Web 浏览器调用操作:
http://localhost:20551/CharteredSurveyor/Pair/password
Run Code Online (Sandbox Code Playgroud)
我真的不明白问题是什么 - 任何人都可以帮忙吗?
ELMAHErrorHandlingControllerFactory
返回一个自定义操作调用程序,它使用它来确保其HandleErrorWithElmahAttribute
应用于控制器。它从不提供异步操作调用程序,因此它不理解异步/等待。
两种解决方法;
ControllerBuilder.Current.SetControllerFactory(new ErrorHandlingControllerFactory())
并简单地添加HandleErrorWithElmahAttribute
到全局过滤器中,使用GlobalFilters.Filters.Add(new HandleErrorWithElmahAttribute());
干杯,迪恩
归档时间: |
|
查看次数: |
3505 次 |
最近记录: |