[解決済み] Async PartialViewで「HttpServerUtility.Execute blocked...」という例外が発生する。
質問
を取得しようとする部分ビューがあります。
IEnumerable<Post>
をデータベースから取得しようとする部分ビューがあります。
メソッド
public static class PostService
{
public static int PostsPerPage = 50;
public static async Task<IEnumerable<Post>> GetRecentAsync(int page = 0)
{
return await entityFrameworkDbContext.Posts
.ToListAsync();
}
}
パーシャルビュー
public async Task<ActionResult> Recent(int page = 0)
{
return PartialView(await PostService.GetRecentAsync(page));
}
そして、それを呼び出そうとすると
@Html.Action("Recent", "Post")
次のような例外が発生します。
HttpServerUtility.Execute は、非同期操作の完了を待っている間にブロックされました。
説明 現在の Web リクエストの実行中に、処理されない例外が発生しました。エラーの詳細とコードの発生場所については、スタックトレースを確認してください。
例外の詳細です。System.InvalidOperationException: HttpServerUtility.Execute は、非同期操作の完了を待っている間にブロックされました。
なぜこのエラーが発生するのでしょうか?動作しないはずですか?
どのように解決するのですか?
子アクションは、同期して起動する必要があります。 課題601 また、現在の MVC ライブラリにこの機能を可能にするような最近のアップデートがあるかどうかもわかりません。
課題 601 のコメントで、この機能が MVC vNext、別名 MVC6 で追加されることが示唆されています。子アクションは、次のように置き換えられるようです。
ViewComponent
に置き換えられ、以下のようにビューから非同期に呼び出すことができるようです。完全な例
ここで
と
はこちら
<div>
@await Component.InvokeAsync("YourComponent")
</div>
MVC6の詳細については、以下をご覧ください。 http://www.asp.net/vnext/overview/aspnet-vnext/overview
注:この回答は形式的なものですので、質問は回答済みとしてマークすることができます。
関連
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み] 関数を終了するには?
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] async」と「await」の使い方とタイミング
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] デッドロックを引き起こす非同期/awaitの例