2008-10-14 42 views
3

好吧,奇怪的設置,奇怪的問題。我們爲我們的SaaS應用程序提供了一個客戶端和一個管理Web應用程序,運行在asp.net-2.0/iis-6上。 Admin應用程序可以更改客戶端應用程序上顯示的選項。當這些選項保存在管理員中時,我們會通過管理員在客戶端上調用Web服務來刷新該特定帳戶的選項緩存。請求的目標IIS工作進程

最近我們開始給我們的客戶端應用程序> 1個工作進程,因此導致只能在當前正在運行的工作進程中清除選項緩存。

所以,我明顯有其他途徑解決這個問題(但輸入讚賞),但我的問題是:有什麼辦法通過web請求目標/迭代通過每個工作進程?

回答

0

我在這裏做一些假設這個答案....

  1. 我假設是使用.NET類的緩存來存儲應用程序的選擇,其中客戶端應用程序?

  2. 當你說'flush'是否意味着將它們刷新回配置文件或db表?

由於緩存的對象,數據不會在進程間共享,你需要一個機制來通知上,它需要其他的工作進程中運行的代碼重新讀取它的選擇到它的高速緩存或強制進程重啓(這不是很方便,很可能是不可取的)。

如果您無權訪問客戶端源以修改選項配置文件或數據庫表(例如使用SqlCacheDependency),我認爲您有點卡住這種行爲。

0

我可以通過緩存完全訪問管理員和客戶端,我的意思是.net的Cache對象。通過刷新我的意思是從緩存對象中刪除項目。

我知道兩個工作進程不共享緩存數據。這是我的難題)

該系統是它的方式,以消除需要擊中每一個新的會話進來sql。所以我試圖找到一個解決方案,可以告訴每個工作進程,緩存需要被清除而不涉及sql。