0

私はベストプラクティスを探していると思いますが、これを行うためのさまざまな方法について矛盾する情報を読みました。データベースの内容を正確に示す情報のグリッドを含む Web ページの例をまとめようとしています。テーブルは、フォームを介して Web ページから更新できますが、他のさまざまなソースから更新することもできます。

ユーザーに更新を警告するにはどうすればよいですか? これまでに経験したことは次のとおりです。

  1. SignalR を使用して、ユーザーがグリッド上の更新を「サブスクライブ」できるようにすることができます。これは、フォームからデータベースへの挿入/更新で機能し、ユーザーに警告します。しかし、他の非 .NET ソースからの実際のデータはどうでしょうか。

  2. OracleDependency: DB が更新されると、コールバックが .NET にヒットします。これは、常に更新されるテーブルで使用するのは良くないことを読みました。何故ですか?これは、SignalR にフックしてグループ内のユーザーに警告するための実行可能なオプションですか?

  3. 基本的なポーリング: これは考えすぎですか? 各クライアントでデータベースをポーリングし、変更を取得して、AJAX 経由でテーブルに挿入するだけでよいでしょうか?

4

1 に答える 1

0

データソースをポーリングする「長時間実行」コントローラーを使用します。このようにして、データソースをポーリングするポイントが 1 つだけになります。その後、データが変更されたときに、サブスクライブしているクライアントに通知できます。

signalR に実行時間の長いコントローラーがあるかどうかはわかりませんが、おそらく理解できるでしょう。または、これをサポートする XSockets.NET を使用してください。

何を選択しても、各クライアントからポーリングしないことを強くお勧めします。

よろしくウッフェ

于 2013-01-14T21:09:33.663 に答える