2011-11-30 15 views
5

私は画像処理を行うサービスを持っています。プロセスが完了するまでにかかる時間は2-3分です。 サービスの進捗状況をクライアントにアップデートできますか?私は何とかプロセスがステップ3に到達したことをクライアントに伝えることができますか?Webサービスの進捗状況をクライアントに公開できますか? - WCF

私はWCFを使用しています

答えて

1

もちろん可能です。 WCFの非同期メソッドを使用して、画像処理の%値を取得します。つまり、このメソッドを作成する必要があります。クライアント側では、このメソッドを定期的に呼び出す必要があります。

+0

データベースの進捗状況を更新することをお勧めします。 – Ryan

+0

画像処理を行う方法と非同期の間で%値を共有する方法を見つける必要があります。メソッドはクライアントにこの値を提供しようとしています。おそらくそれはデータベースである可能性があります...また、ここで見ることができますhttp://stackoverflow.com/questions/7815087/wcf-methods-sharing-a-dictionary。データベースアプローチを使用する場合は、この値が特定のユーザーセッションにも属していることを確認してください。 –

2

あなたは、双方向通信をサポートする、二重バインディングで見ることができます。

http://msdn.microsoft.com/en-us/library/ms731064.aspx

それはコールバックメカニズムを使用して動作します。

+0

マイクロソフト固有のものですか? Cn Javaクライアントがありますか? – Ryan

+0

これは私が知る限り、マイクロソフト固有のものです。 – hendrikswan

-1

これは、いくつかの.NETアセンブリに焼き付けられます。たとえば、WebClientクラスを見ましたか? DownloadProgressChangedのような* ProcessChangedイベントハンドラがあります。

これを追加して、時間のかかるメソッドにラップします。 ProcessImage()。

+0

-1はWCFには適用されません –

+0

これはWCFには適用されないとはどういう意味ですか?私の答えかライアンの質問ですか?私の答えについて話したら、WebClientはいつWCFの一部ではないのですか? – user118190

+0

WebClientはバージョン1.0以降.NETの一部です。 WCFにはバージョン3.0が付属しています。 –

関連する問題