問題タブ [sqlcachedependency]
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.
asp.net - データベースのデータが変更されたときのページの自動更新
マイページは を使用していsqlcachedependency
ます。そのため、ページはデータベース内のデータが変更されるまでキャッシュから情報を読み取りますが、データが変更されたときにページが自動更新される必要があります。どうやってやるの?
asp.net - データベーススキーマが変更された場合のSqlCacheDependencyおよびBrokerServiceへの影響
SQLキャッシュ依存関係を持つアプリケーションを作成しています。
このために私はブローカーを有効にしました
データベースに2つの新しいテーブルを追加した後。
しかし、追加した新しいテーブルの通知サービスを利用できないことがわかりました。
私も使っています
このコマンドは実行を続けるので、成功せずにキャンセルします。
私が欠けているものを特定していただけますか
どんな助けも認められます
asp.net - ビューとプロシージャの SqlCacheDependency
ビューとプロシージャで SqlCacheDependency を使用したいと考えています。
Linq to Sqlを使用しています。
現在使用しているコードは、単一テーブルを使用している場合にのみ有効です:
ここで、ビュー (複数のテーブル) に sqlcachedependency を実装したいと考えています。
このクエリを使用しようとしています
ただし、基になるテーブルを変更してもキャッシュが無効にならないため、このクエリは機能しません。
あまりにも長い間グーグル検索しましたが、ビューとプロシージャまたは複数のテーブルで機能するコードが見つかりません。
c# - Linq to Entityを使用してビューの基になるテーブルを検索し、依存関係を集計します
私は機能を持っています:
qは、テーブル、ビュー、またはプロシージャにすることができます。
私が欲しいのは、ビューまたはプロシージャに関連付けられている基になるテーブルを見つけることです。
qが2つのテーブルの結合である場合のように、両方のテーブルの名前を取得し、最後に
次のように実行します。
tw0テーブルがある場合は、AとBと言います
次に、次のような集計依存関係を作成する必要があります。
次に、実行したいクエリは
Aから*を選択します。Bから*を選択します。
これは、LinqtoEntityを使用してSqlCacheDependencyに使用しています。
基になるテーブルをハードコーディングするとビューに適していますが、コードが基になるテーブルを自動的にチェックするようになりました
のような非クエリを実行します
集約された依存関係を作成します。
どんな助けでも大歓迎です。
ありがとう。
asp.net - ASP.NETの列固有のSqlCacheDependency
列固有のSqlCacheDependencyが必要です。
行固有SqlCacheDependency
は有効ですが、列固有にする方法がわかりませんSqlCacheDependency
例:
クエリ:
ID=31167の行が変更された場合に通知を発生させます。
しかし、問題は、その行の列のいずれかが変更されるとキャッシュが無効になることですが、ID31167の価格が変更された場合にのみキャッシュが無効になるようにしたいです
私は長い間それをグーグルで検索しましたが、助けが得られません。
ありがとう
どんな助けでも大歓迎です。
c# - LINQ2SQLを使用したSqlCacheDependency(リポジトリパターン)
ASP.Net3.5WebアプリでL2Sリポジトリパターンを使用しています。しかし、私はライブで経験したようなパフォーマンスにはあまり満足していません。私はグーグルを検索し、SqlCacheDependencyクラスを使用してSQLキャッシングに出くわしました。しかし、私のシナリオでそれを使用する方法を説明するチュートリアルやリンクはありません。
だから私を助けてください...どんな助けやガイダンスも大歓迎です。
いくつかのサンプルコードまたはオンラインリファレンスを使用してください。
前もって感謝します
更新:私のリポジトリ
c# - SqlCacheDependency には OnChange イベントがないようです。
いくつかのデータ オブジェクトをキャッシュしようとしています。これらのデータ オブジェクトは非常に頻繁に使用されるため、db サーバーをロードする際に頻繁にクエリが実行されます。ただし、これらは頻繁に変更されるわけではないため、キャッシュの候補として適しています。
ただし、それらが変更されるたびに、変更をできるだけ早く反映したいので、SqlCacheDependency を使用することを考えました。
ただし、Visual Studio で次のエラーが発生します。
私がチェックしたところ、人々はどこでも SqlCacheDependency ではなく SqlDependency を使用しているように見えました。OnChange イベントが SqlCacheDependeny から除外されたのはなぜですか? パフォーマンスに悪いですか?それとも、ここで非常に基本的な何かが欠けているだけですか。
asp.net - dbのクエリに使用したものと同じクエリをSqlCacheDependencyに指定する必要がありますか?
以下のようなクエリを使用して、大きな結果セットを取得するとします。
ここで、クエリによって返された各オブジェクトをキャッシュし、オブジェクトが変更されたときにそのオブジェクトを無効にします。したがって、上記の結果セットの各結果をユーザーオブジェクト(DTO)にキャストし、それらをキャッシュに追加するときに、次のように依存関係を追加します。
しかし、これはうまくいかないようです。sys.dm_qn_subscriptionsにレコードはありません。イベントログにエラーはもうありません(昨日取得し、それらを解決するために適切な手順を実行しました)Sql Profilerを見ると、SqlQueryNotificationストアドプロシージャが約2分ごとに実行されていることがわかります。
では、なぜ依存関係が作成されなかったのでしょうか。別のクエリを使用して依存関係を作成しているためですか?
asp.net - SqlCommandを使用したSqlCacheDependencyが機能しない
非常に基本的なSqlCacheDependencyプロトタイプの実装に問題があります。
sprocでこれを試しましたが、今はコマンドを直接実行しています。
そして、私はすべてのオブジェクトのデータセットを読み取り、手動で挿入したいくつかのデータに対して非常に単純な依存関係テストを作成しています。
「マスターキー」は、集約キャッシュの依存関係をテストするためにあります。これを変更するとうまくいきますが、1(変数scd)へのSQLの依存関係は単に機能しません。テーブルを更新して(行を削除しても)何も起こらず、キャッシュはクリアされません。
SQL依存関係が登録/起動されない理由に関するアイデアは大歓迎です!
c# - SqlCacheDependency HasChanged が true に変更された直後に false に戻るのはなぜですか?
HasChanged
オブジェクトの値がコマンドの実行から最初に false として返される理由がわかりませんSqlCacheDependency
が、データベースから返された直後のどこかで、値が true に変わります。
アイテムがキャッシュに挿入される前にこれが発生し、キャッシュがすぐにアイテムを破棄することもあれば、挿入後であることもあります。キャッシュ内のキーを参照する列挙子を取得できますが、そのアイテムにループする前です。キャッシュは削除されました。
SPROC:
データベースは MS SQL Server 2008 で、ブローカー サービスが有効で、一部の出力がキャッシュされ、キャッシュされたままになります。たとえば、これは問題なく機能します。
失敗した問題の SPROC を呼び出すコード:
動作するコード
メソッドがオーバーロードされており、AddToCache
さらに多くのテストが含まれています。作業方法の直接的な_cache.Insert
方法は、これらの他のテストをバイパスすることです。作業コードは、db キャッシュが発生するかどうかを判断するのに役立ちます。
「動作していない」データが最初に取得されると、すべて問題ないことがわかります。
しかし、そのポイントを超えたランダムな場所、この例では、次のメソッドにステップインするだけです
それでも、データはまったく変更されていません。データベースのこのインスタンスに触れているのは私だけです。