SQL Server から aspx ページを更新する方法。SQL Server 2008 で asp.net、C-Sharp を使用しています。つまり、 Table1というテーブルがあります。DML操作 (更新、挿入など) がTable1に対して実行された場合、次に、私のページ、たとえばPage1.aspxは自動的に更新されるはずです。ページを更新するためにタイマーを使用できません。データベースから更新をトリガーする必要があります。
3 に答える
データが変更されたときにサーバーに通知される場合でも、本当の課題は、タイマーやユーザーの操作を必要とせずに、それらの変更をリアルタイムでクライアントに伝えることです。
いくつかのオプションがあります。
最善の策は、クライアントとサーバー間の双方向通信を可能にするWebSocketを使用することです。これが私が選ぶ解決策です。
を使用した例を次に示し
WebSockets
ます。- IIS、ASP.NET、および WCF を使用して WebSockets でリアルタイム Web アプリを構築する
- HTML5 C# WebSockets サーバーと ASP.NET クライアントの実装
- C# WebSocket サーバー
- ASP.NET 4.5 の WebSocket
- ASP.NET の WebHook と WebSocket
レッグワークのほとんどを処理する優れたライブラリもいくつかあります。チェックアウトするカップルはWebSyncとPokeInです。どちらの製品も、適切なドキュメントと、無料でダウンロードできるコミュニティ エディションを提供しています。ここにチェックアウトするいくつかのチュートリアルがあります:
X
AJAX を使用して、秒数ごとに変更をポーリングします。変更が検出された場合はページをリロードし、そうでない場合は何もしません。
おそらく、 SqlDependencyオブジェクトを調べたいと思うでしょう。このオブジェクトは、指定されたデータベース クエリへの変更をリアルタイムで通知します。アプリケーションがデータベースからメッセージを受信したら、コード ビハインドでページを更新するだけです。
更新を促すメッセージをクライアントに送信するように SignalR を適応させることはできますか?
このチュートリアルから始めることができます。