問題タブ [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.
entity-framework - EFでSqlCommandを取得する
アプリケーションでSqlDependencyサービスを作成しました。クエリを手動で入力すると完全に機能しますが、ワイルドカードを含めることはできません(理由はよくわかりません)。
例えば:
したがって、基本的には、DbContextに、処理するすべてのフィールドを含む完全なSELECTコマンドを生成させたいと考えています。
Linq 2 SQLでは、このサービスを使用してdbContext.GetCommand(.....);
EF 4.0(または4.1でしたか?)では、dbContext.employee.ToTraceString();
しかし、EF 4.4では、そのSELECTクエリ文字列を生成するものが見つかりません...。
c# - SQLDependency + Service Broker
一部のテーブルのデータが変更されたときに通知を受け取るためにSqlDependencyを使用しています。
動作していますが、いくつか質問があります。
1)どの行が変更されたかという情報を取得する方法が見つかりませんでした。テーブル全体からすべてのデータを読み取って、何が違うのかを確認する必要があります。この情報を取得する方法はありますか?(プライマリIDなど)SqlDependencyとは異なるアプローチを使用する可能性がありますか?
2)「誰か」がデータを非常に速く変更した場合はどうなりますか。一部の変更が通知されない可能性はありますか?(通知から再度購読するまでの時間が気になります。
ありがとうございました。
appfabric - 同じ OnChange イベントを発生させる複数の SqlDependencies
数百のカテゴリを含む製品カタログがあり、カタログ内の各カテゴリに対して SqlDependency を動的に作成しています。これらの依存関係が基づく SqlCommands は、categoryID のみが異なります。私が抱えている問題は、これらすべての依存関係が、それらを起動した SqlDependency に応じて異なるアクションを実行することです。どうやってやるの?SqlDependency ごとに異なる OnChange イベントを作成する必要がありますか? これらすべての依存関係が同じ OnChange イベントとこのイベントを発生させて、どの依存関係がそれを発生させたかを知る方法、または依存関係の作成中に渡されるパラメーターを受け取る方法はありますか?
この問題は、AppFabric キャッシュで動作する SQL 依存関係メカニズムを作成しようとして発生しました。
前もって感謝します。
wcf - IIS でホストされる WCF サービス、SQLDependency
IISでホストされているWCFサービスから数分ごとにデータベースをポーリングすることについてインターネットで検索しましたが、得られる最良の答えはSQL Depedencyを使用することです。SQL依存関係の使用方法に関する多くの記事を見つけましたが、私の質問は次のとおりです。
サービスに長時間アクティビティがなく、ポーリングが必要な新しいレコードがテーブルに挿入された場合、サービスはアラートを受け取りますか。アクティビティがない場合、IIS はサービスをスリープ状態にします。SQLDependency はサービスを起動しますか?
c# - 同じプログラムで sqldependency の複数のインスタンスを実行できますか
同じデータベースの異なるテーブルに対してそれぞれ sqldependency を実行する 2 つのスレッドがあります。個別に、両方のリスナーが正常に動作します。同時に実行すると、1 つのリスナーのみが動作します。何かご意見は?ありがとう!
c# - SqlDependency とテーブルの定期的なポーリングの使用 (パフォーマンスへの影響)
アプリの開発の初期には、SqlDependency をかなり頻繁に使用して、通知がアプリに新しいコピーを取得するように指示するまで、DB の結果をキャッシュしていました。
テスト中に、SQL DB のパフォーマンスが SqlDependency 通知サービスによって打撃を受けていることがわかりました。SqlDependency を使用していたテーブルの数を減らしたところ、パフォーマンスが大幅に向上したことがわかりました。それで、私たちはそれを使い終わったと思って、先に進みました。現在、数テーブルしかありません。
その後、依存関係を確立するユーザー名のセキュリティ アクセス レベルを縮小できないことがわかりました。各 DB に複数の接続文字列 (依存関係用に 1 つ、残りのアプリ用に 1 つ) を設定できますが、複数の DB と DB ミラーリングを使用すると、(SQL DB 管理者の観点とアプリ開発の観点から) これは面倒です。
この時点で、次のロジックに基づいて、SqlDependency から完全に移行することを考えています。
- データが変更されたという「即時」通知は必要ありません。1 秒以内にわかっていれば、十分に高速です。
- 少しリファクタリングするだけで、テーブルを 1 つだけにして、そのテーブルを 1 秒に 1 回ポーリングすることができます。
このロジックに欠陥がある人はいますか?
1 つのテーブルを 1 秒に 1 回ポーリングすると、DB への負荷が SqlDependency よりも多かれ少なかれ発生しますか?
SqlDependency で同様のパフォーマンスの問題が発生した人はいますか?
c# - SqlDependency定数データベースヒット
マイクロソフトの公式ソースhttp://msdn.microsoft.com/en-us/library/a52dhwx7(v=vs.80).aspxから例をコピーしたところ、困惑しています。アプリケーションを実行すると、そのテーブルを使用しているものがない場合でも、データベースが常にヒットしますか?そのテーブルが実際に変わると、イベントが発生すると思いましたか?私はそれが毎秒一定のDB呼び出しをすることを望まない、それはひどい。
私は何か間違ったことをした?でもわからないと思います。誰もが良い例へのリンクを持っていますが、MSDNではないことが望ましいです。
よろしくお願いします、オナム。
これはSQLです:
要求に応じて、すべてのコード:
c# - SqlDependency dependency_OnChange 情報 "クエリ"
私は非常にイライラする問題を抱えています。私の.net 4アプリはSqlDependency
、しばらくの間オブジェクトを正常に使用して、SQLサーバーからINSERTまたはUPDATE通知を受け取りました。
ただし、通知を受け取るデータベースが更新されたばかりで (これはサード パーティ アプリのバック エンドであるため、更新に伴う内容はわかりません)、SqlDependency
アプリを再起動すると正しく動作しません。メソッド中に、次の行がイベントStartSQLDependency()
をトリガーします。dependency_OnChange
とSqlNotificationEventArgs
:
以前は、次のものしか見たことがありませんでした。
これを引き起こすためにデータベースで何を変更したかを誰か提案してもらえますか?
c# - タイマーによるクエリと比較して、SqlDependency (Service Broker) はどの程度効率的ですか?
データベース (SQL Server 2008) のテーブルの 1 つに新しいレコードが追加されたときに、ソフトウェア (C#、.NET 3.5) のユーザー (約 100 クライアント) に通知する必要があります。私が正しく理解している場合、そのような操作はキャッシュの無効化と見なされるはずです。これはまさにそのSqlDependency
ためのものです。間違っている場合は、これを修正してください。
そのために、私は2つのオプションを見ることができます:
SqlDependency
これにより、実質的にリアルタイムの通知を受け取ることができます。- タイマーでテーブルをチェックしています。
しかし、私はこれまで使用SqlDependency
したことがなく、実際にどれほど信頼できるのかわかりませんか? つまり、アプリケーションSqlDependency.Start()
を 1 日の始まりだけに実行させて、10 時間何があっても通知をリッスンできるようにすることはできますか? もちろん、サービス クエリの通知に正しく対応しなければならないことは理解しています。また、データベースのパフォーマンスの観点から、タイマーによるクエリと比較して、そうする方が本当に良いのでしょうか? 実際にデータベースに大きな違いはありますか?
SqlDependency
すべてのユーザーが接続を開き、5 分ごとに同じデータベース内の同じテーブルをクエリすることが最善のアイデアであるかどうかわからないため、主に使用を検討しています。
asp.net-mvc - データベースの行の変更をサブスクライブし、クライアントに変更がある場合はプッシュします
最初に EF コードを使用して asp.net mvc でオンライン オークション アプリケーションを構築しています。現在、5 秒ごとに ajax を介して最新の入札額のポーリングを更新しています。同じことを達成できる他の方法はありますか
たとえば、最新の入札額の UI 要素を更新するデータ行をサブスクライブします。例:
SQLDependency を使用できますか? dotnet 反応拡張機能である可能性がありますか? サンプルコードまたはソリューションを持っている団体はありますか?