サービス メソッドの実行中に、WCF からデスクトップ アプリケーションにデータを送信したいと考えています。WCF サービスは Windows サービスでホストされます。
例: 私のサービスでは、1 から 100 まで数えていますtextbox
。
これは、二重チャネル サービスを使用して行うことができます。
http://msdn.microsoft.com/en-us/library/ms731064.aspx
ただし注意してください。サーバーがクライアントに到達できない場合、これは機能しません。たとえば、プロキシの背後にいる場合です。
私は以下のように get/set でそれを簡単に渡しました: (おそらく誰かが将来同様のことを検索するでしょう)
public class CallbackHandler : WCFService.IWCFServiceCallback
{
public ListBox LtBox { get; set; }
public void Message(string result)
{
LtBox.Items.Add(result);
}
}
InstanceContext instanceContext = new InstanceContext(new CallbackHandler() { LtBox=this.ltBox });
ltBox は、デスクトップ アプリケーションのリストボックスです。
助けてくれてありがとう。