ユーザーからデータを収集してサードパーティのWebサービスに送信するASP.NETWebサイトを構築しています。Webサービスはやや信頼性が低く、このためバックアップサービスがあります。
プライマリサービスへの呼び出しが失敗した場合(タイムアウトまたはその他のエラー)、静的クラスのビットを反転する必要があります。これにより、システムがトリップしてセカンダリサービスを使用します。
この時点で、プライマリサービス(ダミーデータを使用)のポーリングを開始して、バックアップされているかどうかを確認する必要があります(その時点で、OKコードを受け取ります)。この時点で、Webサイトがプライマリサービスの使用を再開できるように、ビットを元に戻す必要があります。
これを読んだことがあります。WindowsサービスまたはASP.NETバックグラウンドスレッドを使用する必要がありますか?コードをWindowsサービスに分離することが、ポーリングを実行するための最もクリーンな方法だと思いますが、Webアプリケーションとどのように通信するのでしょうか。
私が考えていたのは、WindowsサービスがWebアプリとの通信に使用できるWebサービスを公開することでしたが、これは面倒でやり過ぎのようです。
同様のタスクを実行するためのあなたの考えと経験に感謝します。
ありがとう