私のWindowsフォームアプリケーションでは、wcfサービスのサブスクライバです。サブスクリプションコードを実行するためにバックグラウンドワーカークラスを使用しています。そのため、「購読」ボタンをクリックすると、接続しようとするとUIがハングしません。サービスへ。バックグラウンドワーカーの後にWindowsフォームのUIスレッドにアクセスしますか?
バックグラウンドワーカーを接続に使用した後、パブリッシャからの投稿を受信すると、次のコードを使用してもUIスレッドにアクセスできないようです。
次の実装では、サービス上で作成されたpostReceived()メソッドで行われていた、それは加入者が投稿が発行者によって投稿されたときにいたときに
backgroundForm b = (backgroundForm)Application.OpenForms[0];
b.BeginInvoke((MethodInvoker)delegate()
{
//codes to do whatever i wan to do with the GUI
//Examples of it would be disposing a flowlayout panel
//and re-adding it back and populating it again to
//show the refreshed values.
});
(WCF購読公開)何が起こるかを処理します誰もこれを解決する方法を考えている?
次いで
他EDIT UIコード実行されない、私はまた、転記が受信されるたびに、それはまた行くフィードバックのためにユーザにポップアップとして作用tempFormを表示している点からなります
notificationForm tempForm = (notificationForm)notificationList[notificationList.Count - 1];
tempForm.Show();
上記のコードも実行されませんでした。
これを行うとどうなりますか?あなたは例外を取得していますか? –
例外はありません、コードの種類は....うまくいかないのですか?笑。 – Thomas
なので、どのコード(実際には動作しません)は実際にコメントになっていますか? – Peladao