Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据表值更改时使内存缓存中的C#过期_C#_.net_Sql Server_Caching - Fatal编程技术网

数据表值更改时使内存缓存中的C#过期

数据表值更改时使内存缓存中的C#过期,c#,.net,sql-server,caching,C#,.net,Sql Server,Caching,我有一个c#应用程序,它将sql server数据库中的一些数据表缓存在内存中。 我已经编写了一个线程在30分钟后更新缓存,但这听起来不是一个好的解决方案。 我觉得最好的解决方案是在数据表数据更改时使缓存过期。 是否有任何框架可以通过配置来实现这一点。 我检查了EnterpriseCacheLibrary,但它似乎并没有提供对数据表的关注。 我是否必须在数据库中写入触发器来更新一个表,以帮助我的线程查看该表并决定使缓存过期 请告诉我此要求的最佳实践。您可能正在寻找SqlDependency/Sq

我有一个c#应用程序,它将sql server数据库中的一些数据表缓存在内存中。 我已经编写了一个线程在30分钟后更新缓存,但这听起来不是一个好的解决方案。 我觉得最好的解决方案是在数据表数据更改时使缓存过期。 是否有任何框架可以通过配置来实现这一点。 我检查了EnterpriseCacheLibrary,但它似乎并没有提供对数据表的关注。 我是否必须在数据库中写入触发器来更新一个表,以帮助我的线程查看该表并决定使缓存过期


请告诉我此要求的最佳实践。

您可能正在寻找SqlDependency/SqlCacheDependency。不过不太确定。检查此链接。这可能对你有用


希望这有帮助。

这看起来不错,因为我已经编写了一个线程来监视数据库,我需要比较我的实现和SQLDependency之间的性能,它查找更改的频率,它是否触发相同的命令并比较内存中的数据?我认为它不会查找更改。事实上,如果注册查询的结果发生更改,它会通知客户端。是的,它会查找更改,SQL不会通知应用程序,SQLDependency会在配置的时间后在内部查找对日志表的更改。看见