多くの場合、SQL サーバーを使用して、asp.net サイトからサード パーティの会計システムとの間でデータを送信する必要があります。通常、データのインポートにはしばらく時間がかかります。私は、実行状況を確認したい場合にユーザーを更新する機能を備えた、長時間実行されるタスクを処理するための最良の方法を見つけようとしています。私の質問は、以下の方法の長所と短所のいくつかと、推奨するものとその理由です。
古いスタイルの asp response.write:私は実際にこれをかなり使用していますが、現時点では高速であるため、このメソッドを使用しています。私はそれで多くの問題を抱えていません。アプリプールのリサイクルが問題になると思いましたが、リクエストの途中でリサイクルされるとは思いません。
ここで提案されているような IFrame の使用http://encosia.com/easy-incremental-status-updates-for-long-requests/ :上記の方法と同様ですが、これは非同期です。 .net 再起動
サイトから Web サービスを呼び出す別の Windows アプリ:この方法を使用しましたが、セットアップに時間がかかり、アプリ プールがリサイクルされると実行が停止します。多分この方法は使わない
Windows ワークフロー: 使用したことはありませんが、(特に小さなデータ更新の場合) やり過ぎのようです
Windows サービス: 上記と同じ。難しすぎるらしい
Ajax、スレッドとタイマーを分離してキャッシュされた結果をポーリングする: これもかなり使用しましたが、asp.net が認識していない別のスレッド上にあるため、アプリ プールがリサイクルされると停止します。