问题标签 [sqlcachedependency]
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.
sql-server-2005 - Sql Server 没有为使用 SqlCacheDependency 的简单选择查询创建订阅
我试图实现一个简单的 SQLCacheDependency 来缓存我的 asp.net 应用程序中的对象。
在折断了很长一段时间后,我似乎陷入了死胡同,并认为外部观点会有所帮助。
但是,一旦添加此项目,它就会从缓存中删除。现在,在花了很多时间修复其他可能的原因(为数据库设置 ANSI NULLS ON 等)之后,我现在碰壁了。从 SQL Server Profiler 中,我看到订阅是使用以下文本数据触发的
您会注意到 type = subscribe 和 info = invalid。这让我感到惊讶。根据http://www.simple-talk.com/sql/t-sql-programming/using-and-monitoring-sql-2005-query-notification/和http://msdn.microsoft.com/en-us /library/ms189308.aspx当“提交的命令包含不支持通知的语句(例如,INSERT 或 UPDATE)”时发生,显然它是一个简单的选择语句,符合为创建 SqlDependency 指定的条件
那么我在这里错过了什么?这是最简单的场景,它不起作用!
asp.net - C# 中的缓存对我来说是正确的方法吗?
我试图阅读 ASP.NET 中的缓存,但仍有一些问题。
使用 Sql Cache Dependency 时...我知道您可以指定将监视哪些表,但是如果这些表中的任何一个发生更改,它会重置整个缓存吗?我知道我不想缓存会频繁更改的表,但我们最终可能会得到大量缓存表,即使每个表每天只更新几次,这可能会导致缓存重置 50 次每天(8 小时窗口)。
我将通过 GAC DLL 创建和维护此缓存。任何时候都会有大量不同的应用程序访问该 GAC。每个应用程序是否维护自己的缓存副本,还是仅存储在一个全局位置(或可能每个应用程序池)?
服务器上是否有可以查看缓存当前占用多少空间的物理位置?如果每个应用程序都维护自己的缓存,这将非常相关,因为这最终可能会占用大量磁盘空间。
有什么方法可以物理强制缓存自行重建吗?我可以看到我的老板假设缓存因某个特定问题而存在故障,我需要能够从根本上排除这种情况。没有“更改记录并说应该重建缓存”,而是“执行 [Action X] 并知道缓存中的任何内容现在都消失了”
提前感谢您的回答和时间。
c# - 将 SqlCommand 用于缓存键时,SqlCacheDependency 不起作用
此代码工作正常,只要在数据库中更改数据,它就会使数据无效:
虽然我不能对整个“产品”表直接无效,但我需要能够使表上的选择无效。我遇到的问题是以下代码在数据更改时不会使缓存无效:
我试图包含分析此问题所需的所有信息,但如果我应该包含更多信息,请告诉我!
c# - Determine if SqlDependency.Start(connectionstring) has been called in current project?
Our applications use a lot of shared components. Some of them have no need for caching, for example, Windows Services which process unmailed emails. You'd never cache that result set...
Problem is, since our shared data layer has been modified to use SqlCacheDependency, our services which don't start SqlDependency fail on database calls where the data layer requests a SqlCacheDependency object.
Which leads to the question - is there a way for our data classes to test to see if the broker service is listening (ie: has SqlDependency.Start(connectionString) been called)?
The SqlDependency object itself has no Enabled or similar property. Is there any way short of forcing the calling app to tell the data layer that SqlCaching is in use for the data layer to determine the state?
c# - 使用多个结果集缓存 SQL Server 查询
我正在尝试通过使用 SQLCacheDependency 类来缓存具有多个结果集的 SQL 存储过程。存储过程中的前三个查询是网站上所有用户通用的查询,第四个检索按用户名过滤的数据。
由于存储过程中的第四个查询是通过用户名过滤的,这是否意味着SQLCacheDependency类会在每次另一个用户执行它时从Cache中删除所有结果集,还是意味着它会命中数据库获取存储过程中第四个查询的结果,并从缓存中检索前三个查询的结果?
提前致谢
asp.net - ASP.NET 输出缓存与 ASP.NET 对象缓存
您能否帮助我确定以下哪种方案最有效。
我有 3 个用户控件。每个控件都需要根据 SQL Server 查询的结果生成内容,例如用户控件 #1 使用查询的输出填充网格视图。
我想利用缓存来减少到我的 SQL Server 数据库的往返。我想出了以下两种解决方案,并想知道哪一种效果最好。
场景#1:
将所有 3 个用户控件的查询放在一个 SQL Server 存储过程(批处理)中,在包含页面内的用户控件之外执行存储过程,然后为每个用户控件提供其查询输出。通过将所有 3 个查询放在一个存储过程中,可以减少到数据库的往返次数。
在这种情况下,缓存将通过缓存存储过程的输出来实现。因此,每次都会从内存中取出存储过程的输出,为每个用户控件提供它的输出,之后每个用户控件都会产生它的输出。ASP.NET 对象缓存将缓存大约 188 个不同版本的查询。
场景#2:
在每个用户控件内单独查询 SQL Server 数据库,然后使用每个用户控件获得的查询结果生成每个用户控件的输出。这意味着每个用户控件将单独调用 SQL Server 数据库。在这种情况下,缓存将通过缓存每个用户控件的输出来实现,因此用户控件不必每次都生成其输出,并且可以直接从内存中获取其输出。在这种情况下,需要缓存一个或多个用户控件的大约 188 个不同版本。
提前致谢
asp.net-mvc-3 - 可以通过使用 sqlCacheDependency 更改数据库来自动刷新 asp 页面吗
我花了整整两周的时间在谷歌上搜索一些工作样本。我差点把头撞在混凝土墙上……直到现在都深受其害。
好的,我有一个简单的网页来显示 MS SQL Server 中名为 MsgLog 的表中的两列,例如 Msg 和 MsgID。我有将新的 Msg 条目插入到表中的存储过程。(将来,可能会更新现有条目)
我的愿望是,每当插入新的 msg 条目或更新现有的 msg 条目时,网页必须自动反映此更改,而无需用户单击任何页面按钮或没有任何编码的计时器功能,否则网页只是离开这是。页面刷新只能由数据库表更改触发。
我阅读了很多关于使用 SqlCacheDependency 来实现这一点的互联网帖子,但没有一个提供完整的步骤和代码。我试图在我的项目中调整他们的示例代码,但正如我预测的那样,没有一个成功。还是不可能实现这一点?
我的开发环境是:Visual Studio 2010专业版,使用ASP.NET FRAMEWORK 4.0,MVC 3应用程序使用C#嵌入带有SqlCommand对象的sql语句,数据库是MS SQL Server 2008企业版,IIS express。
谁能告诉我从 sql server 设置到编码的完整可行的详细步骤。功能就像显示网页中一个表格的 2 列行一样简单,并且当且仅当表格被更新或插入时才实时反映更改。不使用轮询或计时器技术;不使用 LINQ to SQL,而是使用 SqlCommand。
感谢数以百万计的人。
c# - SqlNotificationEvent 多次通知即使是在数据库中的单个插入
SqlNotificationEvent
多次通知即使是在数据库中的单个插入。
即使对于表中的单个插入/更新/删除,事件也会多次通知e.Type == SqlNotificationType.Change
,任何人都可以帮助解释为什么会发生这种情况。对于表中的单个更改,它应该只通知一次。
c# - 企业库 SqlCacheDependency
我在我的应用程序中使用 Enterprise Library Application Block 并且需要使用 SqlCacheDependency,但是缓存块没有 SqlDependency Expiration 可用,尝试搜索,发现链接断开的帖子(david hyden),必须有某种使用 sql 的方法里面的通知。
asp.net - 在 ASP.Net 网络场中,数据库依赖缓存是一种好方法吗?
我正在研究为网络农场 ASP.Net 应用程序使用具有数据库依赖性的数据缓存。因此,一旦数据库值发生变化,网络场中的每个网络服务器都会自动刷新其缓存值。这似乎可以使 Web 服务器上的所有缓存值保持同步。这听起来是个好主意还是我错过了什么?