好的,奇怪的设置,奇怪的问题。我们为我们的SaaS应用程序提供了客户端和管理员Web应用程序,在asp.net-2.0 / iis-6上运行。 Admin应用程序可以更改Client应用程序上显示的选项。当这些选项保存在管理员中时,我们从客户端调用客户端上的Web服务,以刷新我们对该特定帐户的选项的缓存。

最近我们开始提供我们的客户端应用程序> 1工作进程,从而导致只在当前正在运行的工作进程中清除选项缓存。

所以,我显然还有其他方法可以解决这个问题(但是很感激输入),但我的问题是:有没有办法通过网络请求来定位/遍历每个工作进程?

有帮助吗?

解决方案

我在这里为这个答案做了一些假设......

  1. 我假设客户端应用程序正在使用其中一个.NET缓存类来存储应用程序的选项?

  2. 当你说'flush'时,你的意思是将它们刷回配置文件或db表吗?

  3. 由于缓存对象和数据不会在进程之间共享,因此您需要一种机制来向其他工作进程上运行的代码发出信号,要求将其选项重新读入其缓存中或强制进程重新启动(这不太方便,很可能是不受欢迎的。)

    如果您无法访问客户端来修改以查看选项配置文件或数据库表(比如说使用SqlCacheDependency),我认为您有点担心此行为。

其他提示

我可以通过缓存完全访问管理员和客户端,我的意思是.net的Cache对象。通过刷新我的意思是从Cache对象中删除该项目。

我知道两个工作进程都不共享缓存数据。那是我的难题)

系统就是在每次进入新会话时都不需要点击sql的方式。所以我试图找到一个解决方案,它可以告诉每个工作进程需要清除缓存w / o涉及到sql。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top