さまざまなプラットフォームのさまざまなアプリケーションと通信する必要がある ASP.NET Web API サーバーがあります。次に、コールバックのようなメソッドを作成したいと思います。クライアント アプリケーションはそれにサブスクライブし、サーバーがメッセージを送信するまで待機します。
例: 多くのユーザーは新製品が店頭に並ぶまで待っています。彼らはこの「イベント」に登録しています。商品が店舗に到着すると、すべての顧客がメッセージを受け取りますが、場合によってはそれを処理する必要があります。
- ユーザーは「購読」リクエストを送信します
- サーバーは「製品が利用可能です!」というリクエストを受け取ります。
- サーバーは、製品の詳細を含むメッセージをすべてのユーザーに送信します。
- ユーザーのアプリケーションがメッセージを処理する
ASP.NET Web API のコールバックまたはデュプレックスに関する情報を見つけようとしましたが、1 つのアドバイスとして、このアプローチには WCF を使用することをお勧めします。
ソリューション
- すべてのクライアント アプリケーションで、N 秒ごとに「製品は入手可能ですか?」という要求を送信するタイマーのようなものを作成します。「false」になるまで。応答が true の場合 - 「Get product details」というメッセージを送信します。これは大量のトラフィックを引き起こします。これらのタイマーを使用するクライアントが多数存在する場合、何か悪いことになるのではないでしょうか?
- 小さなコールバック サーバー (おそらく WCF) を作成します。ただし、この場合、このサーバーと異なるプラットフォーム上のアプリとの間の通信に多くの問題が発生します。
- ASP.NET Web API には、私が見逃した解決策があるかもしれません。
この問題を解決する方法があれば、アドバイスをお願いします。
手伝ってくれてありがとう。