問題タブ [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 に答える
2345 参照

c# - 1 つのユーザー インスタンスのみに対してリアルタイム データベース通知を作成するための SignalR

Facebook のようなリアルタイム通知を作成するために SignalR を使用しようとしています。サーバー側の言語として C# を使用しています。データベースからデータを取得し、接続されているユーザーに通知するためにSQLを使用したsignalR 2-SQL依存関係クラスを使用する必要があることはわかっていますが、インターネットで見られる例はMVCに関するものであり、私のプロジェクトはMVCではなく、純粋なWebサイトです

これを達成する方法の例を教えてくれる人はいますか?

signalR についての参照:

あなたの助けに感謝

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

sql-server-2008 - QUOTED_IDENTIFIER をグローバルに実装する

SqlDependencyを使用して、特定のデータベース テーブルの変更を警告するメカニズムを実装しました。

しかし、これは、SqlDependency を実装したデータベース テーブルを更新する既存の機能を壊します。

次のエラーが表示されます。

次の SET オプションの設定が正しくないため、UPDATE は失敗しました: 'QUOTED_IDENTIFIER'。計算列のインデックス付きビューやインデックス、フィルター選択されたインデックス、クエリ通知、XML データ型メソッド、空間インデックス操作で使用する SET オプションが正しいことを確認します。

これは、「sqldependency-causes-error-in-other-application」に似ています。

テーブルの更新を実行する proc が QUOTED_IDENTIFIER を OFF に設定して作成されていることがわかりました。これが問題の正確な原因です。

「 SET QUOTED_IDENTIFIER ON 」でプロシージャを変更すると、すべてが完璧に機能します。しかし、すべてのプロシージャを検索して変更する必要があるため、これは実行可能なソリューションではありません。

私が知りたいのは、アプリケーションのコードから proc が実行される前に毎回 "SET QUOTED_IDENTIFIER ON" を呼び出す一般的な方法があることです。

私のアプリケーションは ASP.Net 4 Web アプリであり、データベース操作を実行するために Microsoft Enterprise Library 5.0 を使用しています。次のコンポーネントを使用しています: Microsoft.Practices.EnterpriseLibrary.Data.Database

SqlDependency の代替ソリューションも歓迎します。

[編集済み] SQL Server 2008 で、proc を変更せずに QUOTED_IDENTIFIER を true に直接設定する直接的な方法もあります。私が考えているのは、(sp_depends を使用して) そのテーブルに依存するすべてのオブジェクトに QUOTED_IDENTIFIER を設定するスクリプトを作成することです。

0 投票する
7 に答える
12687 参照

c# - SqlDependency からデータを取得する

新しい挿入を待っているテーブルと SqlDependency があります。

OnChange は必要に応じて起動しますが、データベースの変更を引き起こす行を取得できるかどうかわかりません。

SqlDependency SQL コマンド:

OnChange コード:

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

sql - 同じsqlconnectionで異なるsqlコマンドで2つのSqlDependencyを開始します

開始時に2つのスレッドを開くサービスを構築し、それぞれが同じSQL接続でSqlDependencyを開始しますが、コマンドは異なります。

それが可能だ?それは機能しているように見えますが、変更イベントが必要なときにいくつかの意志の後、そうではありません。

ありがとう。

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

c# - SqlDependency OnChange が起動しない

SqlDependency を使用する必要があったのはこれが初めてなので、私が犯したばかげた間違いであることを願っています。

私が抱えている問題は、SQL テーブルが変更されたときに OnChanged イベントが発生しないことです。エラーも何も発生しません。

ここにコードがあります

そして、私のメインウィンドウにはこれがあります

したがって、予想される動作は、次の sqlQuery を実行すると、「メッセージを受信しました」というメッセージ ボックスが表示されることです。

何を確認/変更するかについてのヒントを誰かに教えてもらえますか?

依存関係で使用できるのは Sql 機能のサブセットのみであることは承知していますが、ここで何か特別なことをしようとしているとは思いません。

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

wpf - 二重通信を使用してデータベースの変更を取得する WCF の非同期呼び出し

データベースの変更を取得するために、二重通信に WsDualHttpBinding バインディングを使用して WCF Async サービスを実装しています。

サービスを実装しましたが、クライアント アプリケーションから呼び出す方法がわかりません。

これがコードです。

以下のコードはWCFサービスです

}

この WCF 非同期サービスをコンソール アプリケーションでセルフ ホスティングとしてホストしました。

ホスティングコードはこちら

クラス プログラム {

クライアント アプリケーションで、DuplexChannel ファクトリ インスタンスを作成しました。コードは次のとおりです。

今私の質問は、どのように電話をかけることができるかです

  • BeginGetAllCustomer
  • EndGetAllCustomer

私のサービスの方法。

助けて....事前に大きな感謝...

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

c# - ASP.net MVC OutputCache パラメータの優先度 - 期間と SQLDependency

非常に負荷の高い ASP.net MVC 4 システムを構築してOutputCacheおり、2 つの主要なページで属性を使用したいと考えています。これOutputCacheは、ページを非常に迅速に作成するという望ましい効果がありますが、データの変更をサイトに迅速に反映する必要があるため、ページの有効期限を制御できるようにする必要があります。

これが私のコードの例です - 10分間、またはデータベーステーブルが変更されるまでページをキャッシュしようとしています。SQLDependency は問題なく動作しています。

54 の異なる詳細ページがあります。データベース テーブル内の何かが変更された場合、インデックスのキャッシュとすべての詳細ページの有効期限が切れる必要があります。現在、キャッシュは機能していますが、期待どおりに期限切れにはなりません。

私の質問は

  1. 「OutputCache」属性のさまざまなパラメーターの相対的な優先順位は?
  2. 現在の構成は正しく機能するはずですか?

どんな助けでも大歓迎です。

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

.net - シャットダウン時に SqlDependency サブスクリプションが dm_qn_subscriptions から削除されない

私のSqlDependencyは正常に動作し、アプリケーションの終了時に Broker Queue と Service が適切に削除されます (プロセスを終了する前に推奨どおりにSqlDependency.Stop(...)を実行します) が、 SqlDependencyによって作成された通知サブスクリプションが存続していることに気付きましたアプリケーションがシャットダウンした後、テーブル「sys.dm_qn_subscriptions」でオンになります。

後で (アプリのシャットダウン後)、このサブスクリプションを起動する必要がある条件を実行すると、SQL Server がイベント ビューアーに情報メッセージを記録して、次のような効果があるため、起動したように見えます。

'{3F03B693-C0A5-E211-A97B-E06995EBDB20}.'次のエラーのため、会話ハンドルのクエリ通知ダイアログが 閉じられました: '<?xml version="1.0"?><Error xmlns="http://schemas.microsoft.com/SQL/ServiceBroker/Error"><Code>-8490</Code><Description>Cannot find the remote service &apos;SqlQueryNotificationService-0ea1f686-e554-4e25-aa7d-4f6d85171cc3&apos; because it does not exist.</Description></Error>'

その後、サブスクリプションは「sys.dm_qn_subscriptions」から削除されます。

注: サブスクリプションは、アプリケーションが有効な場合にも適切に起動します。私のアプリケーションに関する限り、何も問題はありませんが、サブスクリプションが依存するブローカー キュー/サービスが終了すると、データベース システム テーブルでサブスクリプションが自動的にワイプされないことが心配です。これにより、(少なくとも) 大量のファントム/アンデッド サブスクリプション レコードがデータベースに蓄積され、イベント ビューアーに不要な SQL Server クリーンアップ メッセージが表示される可能性があります (アプリを実行するたびに、"sys.dm_qn_subscriptions" に新しいアンデッド レコードが生成されます)。

この動作は正常ですか?物事をよりきれいにすることはできますか?