2012-04-10 4 views
2

aspxからaspxページをリフレッシュする方法。asp.net、SQL Server 2008でCシャープを使用しています。つまり、テーブルがあります。テーブル1表1、次に私のページ、Page1.aspxを自動的にリフレッシュする必要があります。を使用してページをリフレッシュすることはできません。リフレッシュをトリガーする必要がありますデータベース。aspxページをSQL Serverからリフレッシュするには

+0

ブラウザを閉じてもページが更新されますか? – Oded

+0

@Oded: - 私の目的はブラウザを閉じることで解決されないと思います。 –

+0

これを見てください:http://stackoverflow.com/questions/1437309/how-to-refresh-a-page-when-record -in-db-table-get-changed-in-asp-net-3-5 – Zaki

答えて

6

データが変更されたときにサーバーに通知されることがありますが、実際の課題は、タイマーやユーザーの操作を必要とせずにリアルタイムでクライアントにその変更を通知することです。

あなたはオプションのカップルを持っている:

  1. あなたの最善の策は、クライアントとサーバー間の双方向通信を可能にする、WebSocketを使用することです。これが私が選ぶ解決策です。ここ

    WebSocketsを使用していくつかの例は、次のとおり


    あまりにも多くの脚の作業の世話をする良いライブラリがあります。チェックアウトするカップルはWebSyncPokeInです。どちらの製品も、無料でダウンロードできるまともなドキュメントとコミュニティ版を提供しています。ここで

    は、チェックアウトするいくつかのチュートリアルです:

  2. 変更の秒ごとX数をポーリングするためにAJAXを使用してください。変更が検出された場合はページをリロードし、そうでない場合は何もしない。

1

おそらくSqlDependencyオブジェクトを調べる必要があります。このオブジェクトは、指定されたデータベースクエリの変更をリアルタイムで通知します。アプリケーションがデータベースからメッセージを受け取ると、コードビハインドでそのページを単に更新することができます。

+0

アプリケーションでこれを使用している例はありますか? –

+2

このアプローチの問題点は、リアルタイムでクライアントと通信しないことです。 –

+0

あなたはおそらく正しいJamesです...ページがロードされたら、ページがもはや積極的に実行されていないので、SqlDependencyが登録されていることは関係ありません。私はまだWPFモードで考えています。 –

0

SignalRを適応させてリフレッシュを促すメッセージをクライアントに送信できるのではないかと思いますか?

This tutorialご利用いただけます。