私は、次のテクノロジを使用するプロジェクトに取り組んでいる:私は現在、非同期呼び出しを作ってるんだワーカースレッド内からUIスレッドのメソッドを呼び出す方法は?
- C#(.NET 4.0)
- WCF
- PRISM 4
プロキシによって生成されたBegin/Endメソッドを使用してWebサービスの1つに転送します。呼び出しは成功し、クライアントはワーカースレッド上でWebサービスの応答を受け取ることができます。
応答が受信されると、イベントが発生します。イベントに加入したクラスは、PRISMを使用してUIのナビゲーションを要求するために進ん:
Application.Current.Dispatcher.BeginInvoke(new Action(() =>
this.RegionManager.RequestNavigate(RegionNames.LoginContentRegion, projectSelectionViewUri)));
非同期のWCF応答がUIスレッド上で捕獲されていないので、私はApplication.Current.Dispatcher.BeginInvoke(...)
を使用してUIスレッドを起動することを強制しています。
ここでの問題は、呼び出しが何もしないように見えることです。 UIは更新されず、例外もスローされません。
ワーカースレッドで発生したイベント内からUIスレッドを呼び出す方法はありますか。
編集:はず重複が答えを提供していないので、この質問は、以下のリンクで再頼まれました:
Request UI navigation using PRISM 4 on an asynchronous WCF response thread
このスレッドはなぜ閉じたのですか?可能な複製はWPF Windowsを扱っておらず、ほぼ3歳ですが、これは一般的なテーマ(サイト全体)ですが、重複なしの可能な複製です。 –
私はRamhoundに同意します... –