问题标签 [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 投票
2 回答
2843 浏览

entity-framework - 使用 EF 获取 SqlCommand

我在我的应用程序中创建了一个 SqlDependency 服务。当我手动输入查询时它工作得很好,但我不能包含通配符(我真的不知道为什么)。

例如:

所以基本上,我想让我的 DbContext 生成一个完整的 SELECT 命令,其中包含它处理的每个字段。

在 Linq 2 SQL 中,我使用了这个服务dbContext.GetCommand(.....);

在 EF 4.0(或者是 4.1?)中,我使用了dbContext.employee.ToTraceString();

但是在 EF 4.4 中,我找不到任何东西来生成该 SELECT 查询字符串....

0 投票
1 回答
4225 浏览

c# - SQLDependency + 服务代理

当某些表中的数据发生更改时,我正在使用 SqlDependency 获取通知。

它正在工作,但我有一些问题。

1)我没有找到一种方法来获取更改了哪一行的信息。我需要从整个表中读取所有数据,看看有什么不同。有没有办法获取这些信息?(主 ID 或其他东西)也许使用与 SqlDependency 不同的方法?

2)如果“某人”非常快地更改数据怎么办。可能有些更改不会被通知?(我担心通知和再次订阅之间的时间。

谢谢你。

0 投票
1 回答
211 浏览

appfabric - 多个 SqlDependencies 触发相同的 OnChange 事件

我有一个包含几百个类别的产品目录,我正在为目录中的每个类别动态创建一个 SqlDependency。这些依赖项将基于的 SqlCommands 仅在 categoryID 上有所不同。我遇到的问题是我希望所有这些依赖项根据触发它们的 SqlDependency 执行不同的操作。我怎样才能做到这一点?我是否必须为每个 SqlDependency 创建不同的 OnChange 事件?有没有办法让所有这些依赖项触发相同的 OnChange 事件,并且此事件可以知道哪个依赖项触发了它或接收将在依赖项创建期间传递的参数?

尝试创建将与 AppFabric 缓存一起使用的 Sql 依赖机制时会出现此问题。

先感谢您。

0 投票
0 回答
410 浏览

wcf - WCF 服务托管在 IIS、SQLDependency 中

我在互联网上搜索了每隔几分钟从 IIS 中托管的 WCF 服务轮询一次数据库,我能得到的最佳答案是使用 SQL 依赖关系。我找到了很多关于如何使用 SQL Dependency 的文章,但我的问题是:

如果服务长时间没有活动,在需要轮询的表中插入了一条新记录,服务是否会被告警。如果没有活动,IIS 让服务休眠。SQLDependency 是否唤醒服务?

0 投票
0 回答
174 浏览

c# - 我可以在同一个程序中运行多个 sqldependency 实例吗

我有两个线程,每个线程都针对同一数据库上的不同表运行 sql 依赖项。单独地,两个监听器工作正常,当我同时运行它们时,只有一个监听器工作。有什么想法吗?谢谢!

0 投票
1 回答
8142 浏览

c# - 使用 SqlDependency 与定期轮询表(性能影响)

在我们的应用程序开发之初,我们大量使用 SqlDependency 来缓存数据库结果,直到通知告诉我们的应用程序获取一个新副本。

在测试过程中,我们注意到 SQL DB 的性能受到 SqlDependency 通知服务的影响。我们缩减了使用 SqlDependency 的表的数量,并注意到性能有了很大的提高。所以,我们认为我们已经用完了它,我们继续前进。我们现在只剩下几张桌子了。

后来,我们发现我们无法缩减将建立依赖关系的用户名的安全访问级别。我们可以为每个 DB 设置多个连接字符串(一个用于依赖项,一个用于应用程序的其余部分),但是对于多个 DB 和 DB 镜像,这是一种痛苦(从 SQL DB 管理员和应用程序开发的角度来看)。

此时,我们只是在考虑基于以下逻辑完全摆脱 SqlDependency:

  1. 我们不需要数据已更改的“即时”通知。如果我们在 1 秒内知道,那就足够快了。
  2. 通过一些轻微的重构,我们可以将其缩减为仅 1 个表并每秒轮询该表一次。

有人看到这个逻辑有缺陷吗?

与 SqlDependency 相比,每秒轮询一个表会导致更多或更少的数据库负载吗?

有没有人对 SqlDependency 有类似的性能问题?

0 投票
2 回答
6145 浏览

c# - SqlDependency 常量数据库命中

我刚刚从微软官方来源http://msdn.microsoft.com/en-us/library/a52dhwx7(v=vs.80).aspx复制了这个例子,我对此感到困惑。运行应用程序后,即使没有使用该表,它也会不断地命中数据库?我想当该表实际更改时,事件会触发?我不希望它每秒都进行不断的数据库调用,这太糟糕了。

我做错了什么吗?我想我不确定是什么。任何人都有一个很好的例子的链接,最好不要 MSDN。

在此先感谢,奥南。

这是 SQL:

根据要求,所有代码:

0 投票
1 回答
1271 浏览

c# - SqlDependency 依赖_OnChange 信息“查询”

我有一个非常令人沮丧的问题。我的 .net 4 应用程序已成功使用该SqlDependency对象一段时间来接收来自 SQL 服务器的 INSERT 或 UPDATE 通知。

然而,它接收通知的数据库刚刚更新(它是第 3 方应用程序的后端,所以我不知道更新需要什么),现在当我重新启动我的SqlDependency应用程序时,它的行为不正常。在StartSQLDependency()方法期间,这一行触发了dependency_OnChange事件:

SqlNotificationEventArgs

以前我只见过:

任何人都可以建议我在数据库中所做的更改导致这种情况吗?

0 投票
1 回答
2811 浏览

c# - SqlDependency (Service Broker) 与计时器查询相比效率如何?

当我的数据库(SQL Server 2008)的一个表中添加了新记录时,我需要通知我的软件(C#、.NET 3.5)的用户(大约 100 个客户端)。如果我理解正确,这种操作应该符合缓存失效的条件,这正是它的SqlDependency用途,如果我错了,请纠正我。

为此,我可以看到 2 个选项:

  1. SqlDependency这将使我能够收到几乎实时的通知。
  2. 通过一些计时器检查表。

但我以前从未使用SqlDependency过,也不知道它到底有多可靠?我的意思是,我可以让我的应用程序SqlDependency.Start()在一天开始时运行,并确保它无论如何都会监听通知 10 个小时吗?当然,我知道我必须对服务查询通知做出正确反应。就数据库性能而言,与计时器查询相比,这样做真的更好吗?数据库实际上有什么显着差异吗?

我正在考虑使用SqlDependency主要是因为我不确定让我的所有用户每 5 分钟打开连接并查询同一个数据库中的同一个表是一个最佳主意。

0 投票
1 回答
637 浏览

asp.net-mvc - 订阅数据库中的行更改,如果客户端有任何更改,则推送

我首先使用 EF 代码在 asp.net mvc 中构建在线拍卖应用程序,目前我每 5 秒通过 ajax 轮询一次更新最新的投标金额。有没有其他方法可以达到同样的效果

例如,订阅一个数据行,该数据行更新任何最新出价金额的 UI 元素。例子:

我可以使用 SQLDependency 并且可能是 dotnet 响应式扩展吗?任何机构有任何示例代码或解决方案?