【发布时间】:2010-04-08 00:08:11
【问题描述】:
当相关数据在另一个应用程序(在同一台机器上运行)中更新时,我需要使 Web 应用程序中的缓存无效。两个应用程序使用相同的数据库。我知道有 SqlCacheDependency。 它在性能方面如何? 进程间通信(例如使用名称管道)是 Web 应用程序中的一个选项吗?它的性能是否优于 SqlCacheDependency?
【问题讨论】:
标签: asp.net
当相关数据在另一个应用程序(在同一台机器上运行)中更新时,我需要使 Web 应用程序中的缓存无效。两个应用程序使用相同的数据库。我知道有 SqlCacheDependency。 它在性能方面如何? 进程间通信(例如使用名称管道)是 Web 应用程序中的一个选项吗?它的性能是否优于 SqlCacheDependency?
【问题讨论】:
标签: asp.net
这实际上非常简单,只需在每个 Web 应用程序中使用 Web 服务或页面操作即可。每当调用 Web 服务时,它都可以清除缓存的元素。
当 webapp A 更新缓存在 webapp B 中的数据时,只需让 webapp A 调用 webapp B 中的 web 服务来清除缓存,反之亦然。如果您想保护它等,您也可以添加身份验证。
每当我必须与另一个 Web 应用程序通信并在另一个应用程序的上下文中执行操作时,我都会通过公开将执行我需要的任何操作的 Web 服务或页面(ashx 文件)来完成。
【讨论】:
您可以改用分布式缓存,例如速度http://msdn.microsoft.com/en-us/magazine/dd861287.aspx
【讨论】: