我一直在閱讀關於以.Net Framework 4.0開始的新MemoryCache類的所有地方。從我讀過的內容來看,您可以通過不同的.Net應用程序訪問MemoryCache。我試圖在Asp.Net應用程序和標準的Windows窗體.Net應用程序之間共享一個對象。如果我將該對象添加到.Net應用程序中的MemoryCache中,則Asp.Net應用程序不會看到它。有什麼辦法可以做到這一點?謝謝你的時間,這是不勝感激。ASP.NET MemoryCache在應用程序間共享
Windows窗體應用程序:
Dim cache As ObjectCache = MemoryCache.Default
Dim policy As New CacheItemPolicy()
policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(60)
cache.Set("testcache", TestObj, policy)
Asp.Net應用:
Dim cache As ObjectCache = MemoryCache.Default
If IsNothing(cache("testcache")) Then Response.Write("TestCache Is Nothing")
謝謝 - 瑞安
謝謝帕布羅。你認爲哪一個程序對新手程序員來說會更容易?你的時間值得讚賞。 – wayofthefuture 2013-03-09 20:03:09
基本上,我正在用windows窗體應用程序讀取udp數據。 asp.net Web應用程序使用這個udp數據。這些數據每分鐘大約有100封郵件。爲了避免asp.net web應用程序的用戶通過odbc連接拉動數據的延遲,我希望共享內存將使asp.net應用程序響應更快,因爲應用程序必須一次拉大量數據庫。謝謝! – wayofthefuture 2013-03-09 20:10:07
哦,我明白了。那麼不,你不能像這樣在不同的機器之間共享內存。最終,實際的數據需要從Winforms應用程序傳輸到服務器。你可以做的一件事就是在asp.net應用程序上創建一個WCF服務。 winforms應用程序每分鐘調用一次該服務,使用這100個消息,並且在服務中,您可以選擇將它們添加到本地緩存中,將它們存儲在數據庫中,或者兩者兼而有之。 – 2013-03-11 14:02:18