我正在研究在 SQL 服务器上触发、在我的网站上触发功能(无需每 x 分钟轮询一次)的可能性。
原因是,我正在尝试为我的 SQL 数据创建一个缓存服务,它只会在为其设置的表发生更改时更新缓存。这个想法是数据库中的项目很少更改并且经常使用以希望跳过昂贵的数据库之旅。
任何想法都会很棒,谢谢。
我正在研究在 SQL 服务器上触发、在我的网站上触发功能(无需每 x 分钟轮询一次)的可能性。
原因是,我正在尝试为我的 SQL 数据创建一个缓存服务,它只会在为其设置的表发生更改时更新缓存。这个想法是数据库中的项目很少更改并且经常使用以希望跳过昂贵的数据库之旅。
任何想法都会很棒,谢谢。
SQL Server 仅支持针对此类问题的事件通知。
http://msdn.microsoft.com/en-us/library/ms190427(v=sql.105).aspx
如果您想将数据放入应用程序缓存中,那么您可以考虑使用 SqlCacheDependency 类(http://msdn.microsoft.com/en-us/library/ms178604(v=vs.100).aspx)。当数据库中有预定义的更改时,这将使缓存过期,从而避免任何类型的轮询。
当然,这取决于您的确切问题是这是否能满足您的需求
SQL Server 具有 CLR 集成(尽管最后一次检查,仅适用于 .NET 2.0)。这意味着您可以从函数/存储过程/查询中运行一些标记为此类的程序集。这是文档:
您可以使用 SQL Server 的公开方法编写程序集并直接从那里运行它,从而以您选择的 C#/VB/.NET 语言完成循环。如果上述答案都没有你想要的东西,这可能有点笨拙,但我很确定提供了最灵活的方法来控制一切。