いくつかの操作を公開するWCFサービスを構築していますが、HTTPSエンドポイントが必要なためIISで実行されます。ほとんどの操作は数秒以内に実行されます。ただし、これらの操作の1つまたは2つは5〜90分かかります。IISでホストされているWCFで長時間実行されるサービス操作を処理する正しい方法は何ですか?
このサービスの主なコンシューマーは、ASP.NET MVCアプリケーションです。これを処理する正しい方法は何ですか?
タイムアウトをジャックアップして、いくつかのajaxコールを行うべきですか?私はデータベースにテーブルを追加し、このデータベースを長期間にわたる操作で更新し、毎分このテーブルをポーリングする必要がありますか?私は、これが一般的に受け入れられているベストプラクティス(存在すれば)を知りません。
長時間実行されている操作でデータが転送されない場合は、これを非同期プロセッサに分割する必要があります。そのため、クライアントはジョブを開始するように要求し、定期的にチェックして応答または後でチェックバックするメッセージを取得します。 – Noah
@ Noahの場合、長時間実行されている操作ではデータが返されずに完了し、約50kbのメッセージが返されます。 – Nate
データを転送しない場合は、その間HTTP接続を開いたままにしないでください。 @Jimはまともな例を提供します。 – Noah