7

ユーザーが Signalr サーバーに再接続したときに、見逃した可能性のあるメッセージを取得できるようにしたいと考えています。

Signalr とは別にメッセージを保持し、クライアントで受信した最後のメッセージ ID を追跡し、再接続時に新しいメッセージを再送信できることはわかっていますが、ペイロードと PayloadID を持つ SqlServer バックプレーンの Messages_0 テーブルを見ていて、そこにあるかどうか疑問に思っていましたバックプレーンにこれを実行させるか、バックプレーンを拡張してこれを実行させるための、より信号の多い方法です。

これについてどうすればよいか、何か考えはありますか?

4

1 に答える 1

3

SignalR は、接続されたクライアントに要求をブロードキャストするために使用される、よりリアルタイムのメッセージ システムです。多くのクライアントに送信している場合、ブロードキャストされたメッセージが特定の分離されたクライアントによって取得されたことを追跡する組み込みの方法はありません。サービス バス/キュー メカニズムは、MSMQ、Rhino Service Bus、RabbitMQ などの IE により適しています。要求を処理し、どの ID がまだハブに接続されているかを監視し、SignalR にブロードキャストを処理させるキューを確実に構築できます。 ID が切り離されてグループに戻った場合は、その ID のみに再送信します。

純粋なサービス バス方式を使用する場合の唯一の点は、MSMQ サーバー コア統合を必要とする MSMQ などのプロトコルをクライアントのマシンに適切にセットアップする必要があることです。これにより、展開が複雑になります。

于 2014-11-21T15:44:59.167 に答える