【问题标题】:asp.net and sql events or alerts?asp.net 和 sql 事件或警报?
【发布时间】:2010-12-22 11:54:05
【问题描述】:

是否有可能获得一个 asp.net 代码(最好是 vb.net)来查询 sql server 以获取结果,但是当在记录中发现更改时它以某种方式等待来自服务器的响应而不诉诸服务器密集型循环?

例如,我想编写一个查询来检查记录的日期,如果日期与最后一个已知日期不同,那么查询才应该返回结果。

我使用的是 sql server 2005

【问题讨论】:

  • 每隔 X 分钟检查一次,以确定是否发生了变化?
  • 我需要它更实时。

标签: asp.net sql sql-server vb.net sql-server-2005


【解决方案1】:

Service broker 从触发器调用?

连接不能“等待”直到某事发生并且触发器不能“告诉”你某事发生了

您要么必须从 SQL Server 获得通知,要么定期轮询服务器。

或者让您的插入客户端告诉您的网络服务发生了什么事等

【讨论】:

  • 我就是这么想的。我正在尝试实现一个彗星风格的应用程序,并且很难理解如何仅在发生插入时才从 sql 服务器返回结果。在彗星风格的应用程序中,客户端创建一个连接,然后在连接打开的情况下等待,并在结果可用时接收结果。
【解决方案2】:

您可以使用触发器http://msdn.microsoft.com/en-us/library/ms189799.aspx

触发器是一种特殊的存储过程,当数据库服务器中发生事件时会自动执行。

【讨论】:

  • asp.net 是否可以理解触发器何时执行?
  • 请务必记住 trigger 在同一个事务中运行,因此它有可能回滚当前事务。
  • 我认为触发器不能满足我的需求。我想编写一个由 asp.net 执行的查询,它等待数据库中的更新或插入,然后才将结果返回给 asp.net。
猜你喜欢
  • 2018-01-13
  • 2023-03-06
  • 2022-07-28
  • 2016-03-22
  • 1970-01-01
  • 2013-12-14
  • 2012-11-27
  • 1970-01-01
  • 2020-01-31
相关资源
最近更新 更多