一部のリソースをサーバから取得した後、30秒ごとにMVCビューページの一部がリフレッシュされます。私はsetTimeOutを使ってサーバから非同期にデータをフェッチし、古いデータと比較し、変更されている場合はdivタグを更新するためのjavascriptメソッドをトリガしています。今、global.asaxクラスでタイマーを作成し、application_startイベントで開始し、timer elapsedイベントでデータを取得し、データが変更された場合にのみSignalRを使用してすべてのクライアントに送信することを考えています。SignalR対setTimeout
ここでsetReturnでSignalRを使用する利点はありますか?
ありがとうDamian!私はデータを適切に扱うことができません。それは別のサーバーにあります。フェッチすれば、それが変更されたかどうかが分かります。タイマーを使うことに決めました。 – Gokulnath
クール。別のサーバー上にあっても、データが変更されたときに別のサーバーが送信できるWebサービスエンドポイントをアプリケーションに設定し、Webサービスのコードですべてのクライアントにブロードキャストを送信できます。しかしタイマーが合うなら、それもいいです:)ただ、あなたがSystem.Threading.Timerを使用していることを確かめてください。 –
データを比較した後、私はブロードキャストのためにHub.GetClients().javascriptMethod(msg)を使用しています。とにかく、接続されているクライアントがあるかどうかを調べることができるので、クライアントがない場合でも他のサーバーからデータを取得するのを避けることができますか?表示されている場合、setTimeoutの場合、setTimeoutを持つページにユーザーがいる場合にのみ、データが取得されます。 –
Gokulnath