![](/img/trans.png)
[英]async/await returning exception Threading.Tasks.Task`1[System.Web.Mvc.ActionResult] Exception
[英]Async Await MVC Action returning Task instead of ActionResult
我的行動如下:
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);
}
當調用該操作時,將執行所有邏輯,但是我收到以下內容而不是HTTP Status 200代碼:
System.Threading.Tasks.Task`1[System.Web.Mvc.ActionResult]
為了測試我只是使用以下URL從Web瀏覽器調用操作:
http://localhost:20551/CharteredSurveyor/Pair/password
我真的不明白問題是什么 - 有人可以幫忙嗎?
ELMAH中的ErrorHandlingControllerFactory
返回一個自定義動作調用程序,用於確保將其HandleErrorWithElmahAttribute
應用於控制器。 它從不提供異步動作調用程序,因此它不理解async / await。
兩個解決方法;
ControllerBuilder.Current.SetControllerFactory(new ErrorHandlingControllerFactory())
的調用,並使用GlobalFilters.Filters.Add(new HandleErrorWithElmahAttribute());
簡單地將HandleErrorWithElmahAttribute
添加到全局過濾器GlobalFilters.Filters.Add(new HandleErrorWithElmahAttribute());
干杯,迪恩
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.