问题标签 [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.
c# - SignalR 仅为一个用户实例创建实时数据库通知
我正在尝试使用 SignalR 创建像 facebook 这样的实时通知我使用 c# 作为服务器端语言 1-我在 github 中阅读了 wiki,我知道我只能通知连接的用户我的主要目标是使用带有 sql 的 signalR 从数据库中获取数据并通知连接的用户 2-我知道我应该使用 sql 依赖项类,但我在互联网上看到的示例是关于 MVC 的,我的项目不是 MVC,它是纯网站
谁能帮我举个例子来说明如何做到这一点?
关于 signalR 的参考:
感谢你的帮助
sql-server-2008 - 全局实施 QUOTED_IDENTIFIER
我已经在SqlDependency的帮助下实现了一种机制,它可以提醒我特定数据库表中的任何更改。
但这打破了我现有的功能,我正在更新我已经实现 SqlDependency 的数据库表。
我收到以下错误:
UPDATE 失败,因为以下 SET 选项的设置不正确:'QUOTED_IDENTIFIER'。验证 SET 选项对于索引视图和/或计算列上的索引和/或过滤索引和/或查询通知和/或 XML 数据类型方法和/或空间索引操作是否正确。
这类似于“ sqldependency-causes-error-in-other-application ”。
我发现对表执行更新的 proc 是在 QUOTED_IDENTIFIER 设置为 OFF 的情况下创建的,这就是问题的确切原因。
如果我用“ SET QUOTED_IDENTIFIER ON ”更改过程,一切都会完美。但这不是一个可行的解决方案,因为我必须搜索所有 proc 并需要更改它们。
我想知道的是,每次在从应用程序代码执行我的 proc 之前,有一种通用的方法可以调用“SET QUOTED_IDENTIFIER ON”。
我的应用程序是一个 ASP.Net 4 Web 应用程序,我使用 Microsoft Enterprise Library 5.0 来执行数据库操作。我在其中使用以下组件:Microsoft.Practices.EnterpriseLibrary.Data.Database
也欢迎 SqlDependency 的任何替代解决方案。
[已编辑] SQL Server 2008 中是否有任何直接方法可以直接将 QUOTED_IDENTIFIER 设置为 true 而无需更改 proc。我在想的是编写一个脚本,将 QUOTED_IDENTIFIER 设置为依赖于该表的所有对象(使用 sp_depends)。
sql-server - 我希望我的数据库 (SQL) 通知或推送更新到客户端应用程序
VB.net 2010
我在和上开发这个应用程序SQL 2008
。
我希望通知客户端有关数据库的更新,并且应用程序用于使用计时器检查数据库在指定分钟内的更改,这确实效率不高。我阅读了有关query notification
, sqldependency
,的内容service broker
,但后来我读到一些内容,说如果我有 100 个客户端并且我正在使用查询通知将通知推送到我的应用程序,它们可能效率不高。
有人会帮助我应该做什么,以及我该怎么做(如果有示例,那将非常有帮助)。提前致谢!
c# - 从 SqlDependency 获取数据
我有一个表和一个等待新插入的 SqlDependency。
OnChange 根据需要触发,但我不明白是否可以获得导致数据库更改的行。
SqlDependency sql命令:
OnChange 代码:
sql - 在相同的 sqlconnection 但不同的 sql 命令上启动两个 SqlDependency
我构建了一些服务,在启动时打开两个线程,每个线程都使用相同的 sql 连接启动 SqlDependency,但命令不同。
这是可能的?它似乎可以工作,但是当on change事件需要唤醒它时,它不会。
谢谢。
c# - SqlDependency OnChange 未触发
这是我第一次需要使用 SqlDependency,所以我希望这是我犯的一个愚蠢的错误。
我遇到的问题是当 sql 表更改时 OnChanged 事件不会触发。没有错误或任何东西,它不会触发。
这是代码
在我的主窗口中,我有这个
所以预期的行为是,如果我运行以下 sqlQuery,将显示一个 messageBox,说“收到消息”
谁能给我一个关于检查/更改什么的提示?
我知道只能在依赖项中使用 Sql 功能的一个子集,但我不认为我想在这里做任何花哨的事情。
wpf - 使用双工通信异步调用 WCF 以获取数据库更改
我正在使用 WsDualHttpBinding 绑定来实现 WCF 异步服务以进行双工通信以获取数据库更改。
我已经实现了服务,但我不知道如何从客户端应用程序中调用它。
这是代码。
下面的代码是 WCF 服务
}
我已将此 WCF 异步服务托管为控制台应用程序中的自托管。
这里是托管代码
类程序{
在客户端应用程序中创建了一个 DuplexChannel 工厂实例这是代码。
现在我的问题是如何调用
- 开始获取所有客户
- EndGetAllCustomer
我的服务方法。
帮助我.... 非常感谢提前...
c# - ASP.net MVC OutputCache 参数优先级 - 持续时间与 SQLDependency
我正在构建一个负载非常密集的 ASP.net MVC 4 系统,并且希望OutputCache
在两个关键页面上使用该属性。这OutputCache
在使页面非常快速方面具有预期的效果,但我需要能够控制它们何时过期,因为数据的更改必须及时反映在网站上。
这是我的代码示例 - 我正在尝试将页面缓存 10 分钟或直到数据库表更改。我的 SQLDependency 工作正常。
有 54 个不同的详细信息页面。当数据库表中的某些内容发生更改时,我需要索引缓存和所有详细信息页面都将过期。目前缓存正在工作,但没有像我期望的那样过期。
我的问题是
- `OutputCache' 属性中不同参数的相对优先级是什么?
- 我当前的配置应该正常工作吗?
很感谢任何形式的帮助。
sqldependency - SqlDependency 和通知
我正在使用 MS SQL Server。我需要意识到这一点:当 db 的一个客户端更改表的某些记录时,必须将此更改发送给订阅了 SqlDependency 的所有客户端。但是来自 SqlDependency 的事件 onNotificationChange 给我带来了 OnNotificationChange(object caller,SqlNotificationEventArgs e) 调用者实际上是 SqlDependency 类的对象并且包含 Id = "c333b019-ff09-4d62-9584-074b009d56ba;70e64cf4-465f-4e54-937b-024432e6b2ca"
其中包含的 e 描述了 db 中的更改,如下所示: info: insert source: data type: change 但我需要直接接收更改的记录。因为在我的变体中,我需要执行新查询,然后搜索更改。许多客户端会对服务器造成很大的负载。
.net - 关闭时未从 dm_qn_subscriptions 删除 SqlDependency 订阅
我的SqlDependency工作正常,当应用程序退出时,代理队列和服务会被正确删除(我在终止进程之前确实按照建议执行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 'SqlQueryNotificationService-0ea1f686-e554-4e25-aa7d-4f6d85171cc3' because it does not exist.</Description></Error>'
。
然后从“sys.dm_qn_subscriptions”中删除订阅。
注意:当应用程序处于活动状态时,订阅也会正确触发。就我的应用程序而言,没有任何问题,但让我担心的是,一旦它们所依赖的代理队列/服务终止,订阅就不会在数据库系统表中自动擦除。这可能导致(至少)在数据库中积累大量幻影/不死订阅记录,并在事件查看器中产生不必要的 SQL Server 清理消息(每个应用程序运行都会在“sys.dm_qn_subscriptions”中生成新的不死记录)。
这种行为正常吗?可以让事情变得更整洁吗?