問題タブ [sqldependency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1956 参照

sql-server-2005 - NHIbernateSysCache2およびSQLDependencyの問題

SQLServer2008でenable_brokerをSQLDepndencyを使用するように設定しました

次のように、キャッシュ領域でSyscache2を使用するように.Netアプリを構成しました。

私のHbmファイルは次のようになります。

BlogEntryに対するクエリに対してクエリキャッシュも有効にしています

最初にクエリを実行すると、予想どおり、結果は2次キャッシュにキャッシュされます。

ここでblog_entriesの行を変更すると、すべてが期待どおりに機能し、キャッシュの有効期限が切れます。次のメッセージが表示されます。

私はそれを期待しています。次のページのリクエストで、クエリとその結果がキャッシュに保存されます。ただし、それ以上何も変更されていなくても、キャッシュはすぐに再び無効になります。

基になるデータに変更を加えることなく、キャッシュはその後毎回常に無効になります。アプリケーションを再起動するだけで、キャッシュを再び動作させることができますが、データが最初にキャッシュされたときだけです(ここでも、キャッシュが最初にダーティになると、キャッシュが再び機能しなくなります)

誰かがこの問題を見たり、これが何であるかについて何か考えを持っていますか?syscache2はSQLDependencyonChangeイベントを処理する必要があると考えていましたが、これはおそらく実行されています。そのため、SQLServerがSQLDependencydepedencyChangedを送信し続ける理由がわかりません。

ありがとう

0 投票する
1 に答える
133 参照

asp.net - 外部イベントによってトリガーされたタスクを実行するために1つのWebアプリケーションインスタンスを選択しますか?

SQLServer2005データベースバックエンドを備えた複数のIIS6WebサーバーでASP.NETアプリケーションを実行しています。

する必要がある:

  1. 外部ジョブイベントの完了についてデータベースを監視してから、

  2. 正確に1つのWebアプリケーションインスタンスにいくつかの情報をWebサービスに送信させる

(1)の場合、SqlDependencyが最善のアプローチ(または単なる古いポーリング)のようです。各Webアプリケーションインスタンスは、起動時にそのような依存関係を登録します。(「マスター」インスタンスを構成したくないのは、そのインスタンスが失敗すると、他のインスタンスが使用可能であってもタスクが続行されないことを意味するためです。したがって、私の設計では、実行可能なインスタンスがあるかどうかを確認します。作業が終わったら、作業を進める必要があります。)

(2)については、次の行に沿って、(1)でSqlDependency通知を受信すると、Webアプリケーションインスタンスが更新しようとする何らかのフラグをデータベースに含めることを考えていました(非常に単純化されています)。

TaskStatusを更新できるアプリケーションインスタンスは1つだけであるため、@@ ROWCOUNT> 0のインスタンスは1つだけです。これが、情報をWebサービスに送信するために「選択」されたインスタンスになります。

このアプローチの欠点は何ですか?私の他のオプションは何ですか?(注:この作業を行う別のサービスはオプションではありません。)

0 投票する
3 に答える
2706 参照

.net - .NET アプリケーションから多くの SQL Server データベースの変更を追跡する方法は?

問題:

多くの異なるアプリケーションによって (共通のアプリケーション レイヤーなしで) 直接入力される、多数の異なるデータベースがあります。データは SP を介してのみアクセス可能 (ポリシーによる)

仕事:

アプリケーションは、これらのデータベースの変更を追跡し、最小限の時間で対応する必要があります。

可能な解決策:

1) 各データベースのテーブルごとにトリガーを作成します。これにより、1 つのテーブルにイベントが入力されます。アプリケーションは、SqlDependency を通じてこのテーブルを監視します。

2) SqlDependency を通じて各データベースの各テーブルを監視します。

3) 各データベースのテーブルごとにトリガーを作成し、マネージド拡張機能を使用してアプリケーションに通知します。

最良の方法はどれですか?

0 投票する
4 に答える
5204 参照

c# - SQLDependency スレッド

私は SQLdepenency を実装するプロセスにいます。依存関係ハンドラーが実行された場合に知りたいのですが、メインのプロセスとは異なるスレッドがスピンされますか? イベント ハンドラーがトリガーされるとどうなりますか? マルチスレッドの問題について心配する必要はありますか?

0 投票する
2 に答える
2378 参照

asp.net-mvc - ASP.NET MVCSqlDependency (CommandNotification?) と LINQ クエリ

ASP.NET MVC アプリケーションで LINQ クエリを使用しており、一部のアクションで OutputCache を使用したいと考えています。

これは CommandNotifications で可能になるはずだと聞いています。しかし、それらは自分で作成した SQLCommands にしか当てはまらないようですが、間違っていますか?

特定のテーブルが変更された場合に SQLDependency 通知を送信するように SQL サーバーに手動で指示できますか? はいの場合、どうすればそれらを OutputCache にアタッチできますか?

別の副次的な質問: 強く型付けされたビューでもこれを実行できますか?

前もって感謝します...

0 投票する
1 に答える
3321 参照

c# - 複数のテーブルを監視するようにSqlDependencyを設定する方法

SqlDependencyを使用して複数のテーブルを監視する方法を理解しようとしています。私が見つけたすべての例は、1つのテーブルに対するものです。

特定のテーブルのモニターを表す複数のクラスがあります。変更イベントが発生するたびに、依存関係を停止して新しい依存関係を開始しますが、それによって他のモニターのフックが解除されます。複数のテーブルを監視し続けるにはどうすればよいですか?イベントがキャッチされるたびにすべてのモニターを再接続する必要がありますか?

0 投票する
0 に答える
1127 参照

sql-server-2005 - SqlDependency が無効な操作の例外をスローする

私たちのプロジェクトでは、クエリ出力の変更に基づいてキャッシュを無効にしています。これは、変更通知を使用して実装されます。

ブロック内のGlobal.asaxファイルにApplication Startも追加しましSqlDependency.Start(ConnectionStr)た。しかし、それでも次の無効な操作例外がスローされます。

メッセージ「オプション値を指定せずに SqlDependency を使用する場合、SqlDependency インスタンスに追加されたコマンドを実行する前に、SqlDependency.Start() を呼び出す必要があります。」ストリング

この問題の考えられる理由は何ですか?

0 投票する
2 に答える
2275 参照

sql - LINQ to SQL と SqlDependency

SqlDependency と LINQ to SQL を一緒に使用することの影響はありますか。それとも、適切に機能させるために特別な注意を払う必要がありますか?

私たちのアプリケーションでは、ORM として LINQ to SQL を使用しており、ビジネス ロジックはストアド プロシージャにあります。SP の出力をキャッシュし、SQLDependency を作成します。SP の出力が変更されるたびに、キャッシュが無効になります。

これまでのコードは、開発、テスト、および QA では正常に動作していましたが、最近 QA で動作しなくなり、ログは、Application Start ブロックの global.asax ファイルで実行される SqlDependency.Start(ConnStr) からエラーが発生していることを示唆しています。

エラーは次のとおりです。 メッセージ : オプション値を指定せずに SqlDependency を使用する場合、SqlDependency インスタンスに追加されたコマンドを実行する前に、SqlDependency.Start() を呼び出す必要があります。

しかし、SqlDependency.Start() が Application Start で既に実行されている場合、SP が実行されたときに後で例外がスローされる理由がわかりません。

誰でもこの問題に光を当てることができますか?

0 投票する
0 に答える
230 参照

asp.net - SQL 通知サービスを有効にする方法

次のことの違いは何ですか。これらは異なる目的で使用されていますか、それともいくつかの機能のためにまとめて使用されていますか。機能に基づいてこれらを区別してください。

0 投票する
2 に答える
4124 参照

asp.net - asp.net の SqlDependency

SqlDependency を使用してキャッシュを制御しています。複数のテーブル (約 10) を監視するために使用したいと考えています。監視対象のテーブルごとに 1 つの SqlDependency が必要です。

それぞれのコードを次のように作成する必要があります。

と:

または、それらの間で何かを再利用できますか? 接続のように?

これは、複数の通知を設定するための推奨される方法ですか?