SignalR を使い始めたばかりで、現在取り組んでいるタスクに適したツールであるかどうか疑問に思っています。
つまり、時間の経過とともに変化するプロパティを持つオブジェクトがあります。これらのプロパティを更新するために、タイマー ジョブが時々実行されます。説明のために、特定の DateTime に達すると変更されるプロパティ「isExpired」を持つ MilkJugs があるとします。
私のタイマー ジョブが MilkJug をヒットし、それを isExpired = true に切り替えたときに、すべてのクライアントが即座に通知を受け取るようにしたいと考えています。クライアントが Chrome で 7 つの MilkJugs を見ている場合、7 つすべての MilkJugs が黄色 (またはそのようなもの) に変わるのを見てもらいたいと思います。
これらの通知を timerJob からクライアントに「ブロードキャスト」するために signalR を使用できますか? 私は彼らが持っているチャットの例を実行しましたが、動作するのは非常に簡単に思えます...私はこのサーバーサイドのようなことをすることができると思います:
public class ChatHub : Hub
{
public void Send(List<MilkJugUpdate> updates)
{
// Call the broadcastMessage method to update milkJugs.
Clients.All.broadcastMessage(updates);
}
}
次に、クライアント側でシリアル化された配列を反復処理し、JS ビューモデルの適切なフィールドを更新します。
これは正しいと思いますか?