現在のプロジェクトでsqldependency.start(ConnectionString)が呼び出されたかどうかを確認しますか?

StackOverflow https://stackoverflow.com/questions/8971852

質問

私たちのアプリケーションは多くの共有コンポーネントを使用します。それらのいくつかは、例えば、イメージが解決されない電子メールを処理するWindowsサービスなど、キャッシュを必要としません。その結果セットをキャッシュすることは決してないだろう...

問題は、共有データ層がSQLCacheDependenceを使用するように変更されているため、データ層がSQLCacheDependencyオブジェクトを要求するデータベース呼び出しに対してSQLDependencyを起動しないサービスは失敗します。 質問につながる

- データクラスがブローカーサービスがリスニングされているかどうかを確認する方法はあります(つまり、SQLEPENDENCY.Start(ConnectionString)と呼ばれています)?

SQLEpendencyオブジェクト自体には有効または同様のプロパティはありません。SQLCACHingがデータ層に使用されているデータレイヤが状態を決定するためにSQLCACHingが使用中のデータレイヤを tell に強制するのに短い方法はありますか?

役に立ちましたか?

解決

かなり答えはいいえです。FALSEまたは存在しない場合は、Config変数を追加しました。

他のヒント

sys.service_queues from name'sqlQueryNotificationService - % 'のような名前

「SqlQueryNotificationService- [いくつかのGUID] 'を返します。

そしてIDEのデバッグ中にSQLdependency _serverUserHashの非公開メンバーを深く見れば、同じエントリを含むコレクションがあります。Microsoftがそれを公開するように非常に親切になる場合は、はい。

私の場合私はいくつかのWebアプリケーションによって使用されるクラスライブラリを持っています。だから私はapp.configを持っていません。静的イベントでSQLCacheDependencyを使用します。だから私は静的なブール値を使っています:

if (!isCachingEnabled)
  isCachingEnabled = SqlDependency.Start(builder.ProviderConnectionString);
.

これまでの働いていますが、私はクラスライブラリを使用するときに提案を開く。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top