我試圖用緩存功能來實現一個Web應用程序。我需要緩存的原因是我們有一個讓用戶訪問在線課程的應用程序。現在,一旦用戶登錄,我會根據我們的數據庫驗證他。一旦驗證,我想將用戶ID和課程ID存儲在緩存中20分鐘,以便如果他再次請求它,我可以從緩存對象中檢索值,包括用戶ID和課程ID,如果有效,則允許他訪問 由於某些原因,在這個應用程序中使用會話變量,所以它們不是一個選項。HttpRuntime.Cache在哪裏存儲數據?
現在,我的應用程序中的高速緩存代碼位於HTTP處理程序(.ashx文件)中。現在我嘗試調用緩存對象,就像你爲一個aspx頁面做的一樣,但我不能,可能是因爲它是一個處理程序而不是一個網頁。 所以,
Cache.Insert("Id", 123);
將無法在Handler中工作。所以然後我嘗試HTTPRuntime.cache。但是在做了一些研究之後,我發現HTTPRuntime.cache對於整個應用程序來說是很常見的。我不完全理解「整個申請」。這是否意味着它是由訪問我們應用程序的不同計算機上的所有用戶共享的?或者是否意味着它被所有用戶一臺電腦訪問我們的應用程序共享。因爲如果是後者,我可以。 那麼HTTPRuntime.cache是緩存一個瀏覽器(或一臺計算機)數據的好方法,還是有更好的方法來實現瀏覽器緩存來存儲數據?
緩存和SessionState是兩個完全不同的東西。你不能交替使用它們。這聽起來像你正在尋找一個持久的sessionstate。通常情況下,人們只會將數據保存在數據庫中。 – leppie
我沒有交替使用它們。我試圖實現緩存解決方案來存儲20分鐘的用戶數據。所有我想知道的是,如果HTTPRuntime.Cache瀏覽器(或計算機特定)或對於在不同計算機上工作的應用程序的所有用戶通用 –