3

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

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

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

4

2 回答 2

0

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

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

  2. 当您说“刷新”时,您是指将它们刷新回配置文件或数据库表吗?

因为缓存对象和数据不会在进程之间共享,所以您需要一种机制来向在另一个工作进程上运行的代码发出信号,它需要将其选项重新读取到其缓存中或强制进程重新启动(这不是非常方便,很可能是不受欢迎的)。

如果您无权访问客户端源来修改以查看选项配置文件或数据库表(例如使用 SqlCacheDependency),我认为您有点坚持这种行为。

于 2008-10-14T16:57:31.610 回答
0

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

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

该系统是消除每个进入的新会话都需要点击 sql 的方式。所以我试图找到一个解决方案,可以告诉每个工作进程需要清除缓存而无需获取 sql涉及。

于 2008-10-14T18:13:37.370 回答