2017-04-20 6 views
1

私は、大きく以下のロジックでCSHTMLコントローラを持っている:埋め込み本格的なビュー+ aynchronousコントローラ

public class MyController 
{ 
    public async Task<ActionResult> Index(string query){ 
     // do something with query and put result in 'myModel' 
     return View(await myModel.ToListAsync()); 
    } 
} 

私が直接アクションを呼び出したときにこれは完璧に動作します。

今私は、およそ次のように、異なるクエリパラメータとそれぞれ、3回このコントローラのアクションを呼び出すダッシュボード、欲しい:

@Html.Action("Index", "myControllerName", new { query = "foo" }) 
@Html.Action("Index", "myControllerName", new { query = "bar" }) 
@Html.Action("Index", "myControllerName", new { query = "baz" }) 

コードはいえ最初@Htmlライン上の例外をスロー:

「System.Web.HttpExceptionは」 のSystem.Web.dllに発生したが、ユーザーコード

ほかに処理されなかったタイプの例外すべての情報:[翻訳:実行中にエラーが発生しました。ハンドラ 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'。この質問Error executing child request for handler in viewに基づいて

私は部分的なビューを返す第二の方法を構築し、そこにいた場合、私は(ありませんでした)を除去する[HTTPGET]にチェック。どちらも動作しません。 Async PartialView causes "HttpServerUtility.Execute blocked..." exception:非同期ない部分図を、建物

編集は、例外の後に続け押すと、エラーをグーグルで、この問題を見つけることに基づいて、作業を行います。しかし、同期ソリューションには満足していません。まだ実行可能なソリューションで作業しています

+0

これらの操作を部分的なビューから呼び出していますか? – Kramb

+0

いいえ、「通常の」ビューから –

答えて

1

async アクションはASP.NET MVC 5ではサポートされていません。ASP.NETで非同期アクションのサポートが導入されました

アクションで非同期コードをAyncPumpthis articleから実行できますが、アクションメソッドは引き続き同期している必要があります。

+0

完全な情報+潜在的な解決策は非常に高く評価されています –