Async Awaitメソッドは、待機ポイントでUIをブロックします

インサイドマン

これが私のボタンイベントです:

private async void btnTarget_Click(object sender, EventArgs e)
{
    using (DataBaseDataContext db = new DataBaseDataContext())
    {
        targtGirdView.DataSource = await Task.Run(() =>
        {
            return heavyLinqToSQLQuery;
        });
    }
}

GridViewデータソースの場合、データベーストランザクションが重いため、待機セクションに配置します。しかし、この時点でUIがブロックされ、理由はわかりません。問題はどこだ?

インサイドマン

.ToList();LINQクエリの最後に次を追加て問題を解決しました。

private async void btnTarget_Click(object sender, EventArgs e)
{
    using (DataBaseDataContext db = new DataBaseDataContext())
    {
        targtGirdView.DataSource = await Task.Run(() =>
        {
            return heavyLinqToSQLQuery.ToList();
        });
    }
}

しかし、UIをブロックせずに正しく実行されている理由がわかりません。遅延読み込みに関連するものはありますか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

スレッドをブロックせずにsyncメソッド内でasyncメソッドを待機しています

分類Dev

async awaitメソッドは、コントローラーアクションメソッドの呼び出しでは並行して機能しません

分類Dev

asyncメソッドのawait呼び出しを完了するまで待機させます

分類Dev

async / awaitはイベントループをブロックしますか?

分類Dev

JUnitが@transactional @Asyncメソッドの呼び出しをテストすると、ロック待機タイムアウトが超過します

分類Dev

クロスライダーメソッドappAPI.db.asyncはSafariブラウザで機能しますか?

分類Dev

Async.RunSynchronouslyメソッドはブロックしますか?

分類Dev

async / await。メソッドの待機可能な部分の継続はどこで実行されますか?

分類Dev

async / await。メソッドの待機可能な部分の継続はどこで実行されますか?

分類Dev

Xcodeブレークポイントはdispatch_asyncブロック内では機能しません

分類Dev

Async / FakeAsyncは、スペックブロックで待機しますか、それともテストしているコンポーネント/クラスで待機しますか?

分類Dev

JS async awaitは待機せず、プロセスをブロックしません

分類Dev

module.exportのメソッドでasync / awaitを使用します

分類Dev

async / awaitがmongooseインスタンスメソッドで機能しない

分類Dev

async / awaitでasyncメソッドとTaskSchedulerを呼び出す

分類Dev

C#await in asyncメソッドはSynchronizationContextをクリアします(再現テストあり)

分類Dev

puppeteerイベント内でAsyncメソッドを実行します

分類Dev

「async」メソッドを「待つ」と同期しますか?

分類Dev

async / awaitメソッドはAndroidでWebサービスの応答をクラッシュさせますが、同じコードがxamarinネイティブアプリケーションのWindowPhoneおよびiOSアプリで正常に機能します

分類Dev

Jest / Enzyme test try / catchでasync / awaitメソッドを使用してコンポーネントを反応させます

分類Dev

Winform-メソッドをasync / awaitに変更します

分類Dev

asyncメソッドでawaitがすべての実行を終了するのを待つ方法は?

分類Dev

Async / Awaitメソッド-メソッドの実行を待つ必要はありません

分類Dev

ライブラリの非同期メソッドでは、常に「async」および「await」キーワードを使用しますか?

分類Dev

async / awaitで「ハング」するメソッドを見つける方法は?

分類Dev

Async await-awaitは他のコードの実行をブロックしますか?

分類Dev

Xamarin Async and Await:UIスレッドがブロックされています

分類Dev

std :: async、std :: promiseおよびstd :: packages_taskはメインスレッドをブロックします。それらの意味は何ですか?

分類Dev

Async / Awaitは応答を待機せず、Promiseオブジェクトを返します

Related 関連記事

  1. 1

    スレッドをブロックせずにsyncメソッド内でasyncメソッドを待機しています

  2. 2

    async awaitメソッドは、コントローラーアクションメソッドの呼び出しでは並行して機能しません

  3. 3

    asyncメソッドのawait呼び出しを完了するまで待機させます

  4. 4

    async / awaitはイベントループをブロックしますか?

  5. 5

    JUnitが@transactional @Asyncメソッドの呼び出しをテストすると、ロック待機タイムアウトが超過します

  6. 6

    クロスライダーメソッドappAPI.db.asyncはSafariブラウザで機能しますか?

  7. 7

    Async.RunSynchronouslyメソッドはブロックしますか?

  8. 8

    async / await。メソッドの待機可能な部分の継続はどこで実行されますか?

  9. 9

    async / await。メソッドの待機可能な部分の継続はどこで実行されますか?

  10. 10

    Xcodeブレークポイントはdispatch_asyncブロック内では機能しません

  11. 11

    Async / FakeAsyncは、スペックブロックで待機しますか、それともテストしているコンポーネント/クラスで待機しますか?

  12. 12

    JS async awaitは待機せず、プロセスをブロックしません

  13. 13

    module.exportのメソッドでasync / awaitを使用します

  14. 14

    async / awaitがmongooseインスタンスメソッドで機能しない

  15. 15

    async / awaitでasyncメソッドとTaskSchedulerを呼び出す

  16. 16

    C#await in asyncメソッドはSynchronizationContextをクリアします(再現テストあり)

  17. 17

    puppeteerイベント内でAsyncメソッドを実行します

  18. 18

    「async」メソッドを「待つ」と同期しますか?

  19. 19

    async / awaitメソッドはAndroidでWebサービスの応答をクラッシュさせますが、同じコードがxamarinネイティブアプリケーションのWindowPhoneおよびiOSアプリで正常に機能します

  20. 20

    Jest / Enzyme test try / catchでasync / awaitメソッドを使用してコンポーネントを反応させます

  21. 21

    Winform-メソッドをasync / awaitに変更します

  22. 22

    asyncメソッドでawaitがすべての実行を終了するのを待つ方法は?

  23. 23

    Async / Awaitメソッド-メソッドの実行を待つ必要はありません

  24. 24

    ライブラリの非同期メソッドでは、常に「async」および「await」キーワードを使用しますか?

  25. 25

    async / awaitで「ハング」するメソッドを見つける方法は?

  26. 26

    Async await-awaitは他のコードの実行をブロックしますか?

  27. 27

    Xamarin Async and Await:UIスレッドがブロックされています

  28. 28

    std :: async、std :: promiseおよびstd :: packages_taskはメインスレッドをブロックします。それらの意味は何ですか?

  29. 29

    Async / Awaitは応答を待機せず、Promiseオブジェクトを返します

ホットタグ

アーカイブ