私は現在、多くの方法でWCFサービスを使用しています。これまでは、すべてのメソッドが非常に短時間で実行されていて、しばしばデータを取得するだけでした。私はちょうど実行に時間がかかる方法を追加しました。WCFで長時間実行されるプロセスを扱う
サービスの他のすべてのメソッドに対して1分が十分に長いため、configでタイムアウトを発生させたくありません。
1つの長時間実行される方法を処理する最善の方法は何ですか?そして、それはまだ実行されているフィードバックをどのように提供するのですか?
私は現在、多くの方法でWCFサービスを使用しています。これまでは、すべてのメソッドが非常に短時間で実行されていて、しばしばデータを取得するだけでした。私はちょうど実行に時間がかかる方法を追加しました。WCFで長時間実行されるプロセスを扱う
サービスの他のすべてのメソッドに対して1分が十分に長いため、configでタイムアウトを発生させたくありません。
1つの長時間実行される方法を処理する最善の方法は何ですか?そして、それはまだ実行されているフィードバックをどのように提供するのですか?
WFとWF(Workflow Foundation)を組み合わせるのが最良の選択肢です。 Workflow Foundationは、長時間実行されているプロセスの生涯にわたる長期間の永続性を含む、多くの機能を提供します。
.NET 3.5では、そうすることは可能ですが、不器用で多くの作業があります。ここで
は、このトピックのためにいくつかのリンクです:.NET 4.0で
、これらの "WorkflowServicesは" の大部分になります新しいWF/WCF 4.0パッケージ基本的にWCFサービスとしてのワークフローのインターフェイスを公開する必要があります。非常に有望だと思うし、自分で試してみる機会がなかった。
新しいもののためのいくつかのリンク:
マルク・
長時間実行されているタスクは、実際には非同期呼び出しとして機能し、状態(またはデュプレックス接続を介したイベント)でポーリングする必要があります。実際に長時間実行されているタスクの場合は、Windows Workflowのようなものにプッシュすることもできます。