问题标签 [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 回答
1956 浏览

sql-server-2005 - NHIbernate SysCache2 和 SQLDependency 问题

我在我的 SQL Server 2008 上设置了 enable_broker 以使用 SQLDepndency

我已将 .Net 应用程序配置为使用带有缓存区域的 Syscache2,如下所示:

我的 Hbm 文件如下所示:

我还为针对 BlogEntry 的查询启用了查询缓存

当我第一次查询时,结果按预期缓存在二级缓存中。

如果我现在去更改 blog_entries 中的一行,一切都会按预期工作,缓存已过期,它会收到以下消息:

我希望如此。在下一页请求中,查询及其结果将存储回缓存中。但是,即使没有进一步更改,缓存也会立即再次失效。

我的缓存每次后续都会不断失效,而基础数据没有变化。只有重新启动应用程序才允许缓存再次运行 - 但只有第一次缓存数据时(同样,缓存的第一次变脏,导致它不再工作)

有没有人看到这个问题或知道这可能是什么?我在想 syscache2 需要处理它可能正在执行的 SQLDependency onChange 事件 - 所以我不明白为什么 SQL Server 不断发送 SQLDependency depedencyChanged。

谢谢

0 投票
1 回答
133 浏览

asp.net - 选择一个 Web 应用程序实例来执行由外部事件触发的任务?

我有一个在多个 IIS6 Web 服务器上运行的 ASP.NET 应用程序,带有一个 SQL Server 2005 数据库后端。

我需要:

  1. 监视数据库以完成外部作业事件,然后

  2. 让一个 Web 应用程序实例向 Web 服务提交一些信息

对于(1),似乎 SqlDependency 是最好的方法(或者只是普通的旧轮询)。每个 Web 应用程序实例在启动时都会注册这样的依赖项。(我不想配置“主”实例,因为该实例的失败将意味着任务不会继续,即使其他实例可用。因此我的设计是确保如果有可用的实例工作,那么工作应该继续进行。)

对于 (2),我一直在考虑在数据库中设置某种标志,Web 应用程序实例在收到 (1) 中的 SqlDependency 通知后会尝试更新,如下所示(非常简化):

这个想法是只有一个应用程序实例能够更新TaskStatus,因此只有一个实例的@@ROWCOUNT > 0。这将是“选择”将信息提交给Web服务的实例。

这种方法有哪些不足之处?我还有哪些其他选择?(注意:不能选择单独的服务来完成这项工作。)

0 投票
3 回答
2706 浏览

.net - 如何从 .NET 应用程序跟踪许多 SQL Server 数据库中的更改?

问题:

有许多不同的数据库,由许多不同的应用程序直接填充(没有任何公共应用程序层)。只能通过 SP 访问数据(按策略)

任务:

应用程序需要跟踪这些数据库中的变化并在最短的时间内做出反应。

可能的解决方案:

1)为每个数据库中的每个表创建触发器,这将用事件填充一个表。应用程序将通过 SqlDependency 监视此表。

2)通过SqlDependency监视每个数据库中的每个表。

3)为每个数据库中的每个表创建触发器,这将通知使用托管扩展的应用程序。

哪个是最好的方法?

0 投票
4 回答
5204 浏览

c# - SQL依赖线程

我正在实施SQLdepenency的过程中我想知道在依赖处理程序执行的情况下它会与主进程产生不同的线程吗?当事件处理程序触发时会发生什么?我需要担心任何多线程问题吗?

0 投票
2 回答
2378 浏览

asp.net-mvc - ASP.NET MVC带有 LINQ 查询的 SqlDependency (CommandNotification?)

我在我的 ASP.NET MVC 应用程序中使用 LINQ 查询,并希望在我的一些操作中使用 OutputCache。

我听说这应该可以通过 CommandNotifications 实现。但那些似乎只适用于自创的 SQLCommands,还是我错了?

如果某些表发生更改,我可以手动告诉 SQL 服务器发送 SQLDependency 通知吗?如果是,我怎样才能将它们附加到 OutputCache?

另一个问题:你也可以使用强类型视图来做到这一点吗?

先感谢您...

0 投票
1 回答
3321 浏览

c# - 如何设置 SqlDependency 来监控多个表

我试图弄清楚如何使用 SqlDependency 监视多个表。我找到的所有示例都是针对一张桌子的。

我有多个类代表特定表的监视器。每次引发更改事件时,我都会停止依赖并启动新的依赖,但这会取消其他监视器的挂钩。我如何让它继续监视多个表?每次捕获事件时,我是否需要重新连接所有监视器?

0 投票
0 回答
1127 浏览

sql-server-2005 - SqlDependency 抛出 Invalid Operation 异常

在我们的项目中,我们根据查询输出的变化使缓存失效。这是使用更改通知实现的。

在块中的Global.asax文件中,Application Start我们还添加了SqlDependency.Start(ConnectionStr). 但它仍然抛出以下无效操作异常:

消息“在不提供选项值的情况下使用 SqlDependency 时,必须在执行添加到 SqlDependency 实例的命令之前调用 SqlDependency.Start()。” 细绳

这个问题的可能原因是什么?

0 投票
2 回答
2275 浏览

sql - LINQ to SQL 和 SqlDependency

一起使用 SqlDependency 和 LINQ to SQL 是否有任何影响。还是我们必须特别注意一些事情才能使它们正常工作?

在我们的应用程序中,我们使用 LINQ to SQL 作为 ORM,业务逻辑位于存储过程中。我们缓存 SP 的输出并创建 SQLDependency。每当 SP 的输出更改时,缓存就会失效。

到目前为止,我们的代码在 Dev、Test 和 QA 中运行良好,但最近它在 QA 中停止工作,并且日志表明错误来自 SqlDependency.Start(ConnStr),它在 Application Start 块的 global.asax 文件中执行。

错误如下: 消息:在不提供选项值的情况下使用 SqlDependency 时,必须在执行添加到 SqlDependency 实例的命令之前调用 SqlDependency.Start()。

但是我不明白当 SqlDependency.Start() 已经在 Application Start 中执行时,为什么在执行 SP 之后它会引发异常。

任何人都可以对这个问题有所了解吗?

0 投票
0 回答
230 浏览

asp.net - 启用 Sql 通知服务的方法

以下提到的东西有什么区别,它们是用于不同的目的还是它们共同用于某些功能,任何人都可以根据它们的功能来区分它们:

0 投票
2 回答
4124 浏览

asp.net - asp.net中的SqlDependency

我正在使用 SqlDependency 来控制我的缓存。我想用它来监控几个表(大约 10 个)。每个被监视的表应该有一个 SqlDependency。

我应该为他们每个人创建这样的代码:

和:

或者我可以在他们之间重用一些东西吗?喜欢连接?

这是设置多个通知的首选方式吗?