ASP.NET MVC 5ローカルビューで非同期問題はサポートされていません

1888 ワード

       [ChildActionOnly]
        public async Task<ActionResult> TopLeftFlowPartialView()
        {
            var user = Session[Constants.SESSION] as UserSessionViewModel;
            var hotelInventory = await _homeService.GetHotelInventoryAsync(user.HotelCd);
            return PartialView("_TopLeftFlowPartialView", hotelInventory.Data);
        }

ページ
@Html.Action("TopLeftNazhPartialView", "Home")

プログラムを実行すると、次の例外が放出されることがあります.
異常詳細:System.InvalidOperationException: HttpServerUtility.Executeは、非同期操作の完了を待つ間にブロックされます。 「System.Web.HttpException」タイプの異常はSystem.Web.dllで発生しますが、ユーザーコードでは処理されません。 その他:ハンドラ「System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper」のサブリクエストを実行中にエラーが発生しました。

 
Googleは、MVC 5がローカルビューの非同期をサポートしていないことを明らかにし、MVC 6つまり現在のASP.NET CORE 1.0以降でサポートされます.
また非同期を同期方法に変更したくないのでAJAXに変更するしかありません
$('#xx').load('@Url.Action("TopLeftFlowPartialView","Home")');

REFER: http://stackoverflow.com/questions/24072720/async-partialview-causes-httpserverutility-execute-blocked-exception http://www.cnblogs.com/dunitian/p/5481138.html https://q.cnblogs.com/q/81685/