クライアント/サーバーアプリケーションで長時間実行されるプロセスを処理する方法を設計および実装する必要があります。通常の長時間実行プロセスには2〜3分かかる場合があります。また、その間にUIに進行状況を報告し、UIの応答性を維持する必要があります。
これらを念頭に置いて、いくつかの解決策を考えました。
サーバー側プロセスを開始し、割り当てられたLRPID(長時間実行プロセスID)を返すプロセスを開始し、そのLRPIDを使用してクライアントから定期的にポーリングする1つの非同期要求。(長所:導入が簡単で、ファイアウォールが混乱することはありません。短所:エレガントでない、リソースを消費するなど)
デュプレックスバインディング(NetTcpBindingなど)を使用し、進行中にサーバーからのコールバックを開始します(Pro:エレガント、効率的、Con:展開の悪夢)
[あなたの提案???]
これについてどう思いますか?