我想使用VB.NET在.NET4 Web应用程序中实现缓存。我已对此进行了测试,但只想确认我的理解是正确的。
我想在应用程序级实现缓存,即在所有会话/用户之间共享一个缓存,并在会话级实现缓存,即每个会话/用户一个缓存。
在下面的课程中,我可以说appCache是一个应用程序级缓存,而sessCache是一个会话级缓存。我在我的机器上使用不同的浏览器对此进行了测试,看起来就是这种情况。感谢。
Imports System.Runtime.Caching
Public Class CacheHelper
Public Shared Sub CacheTest()
Dim appCache As MemoryCache = MemoryCache.Default
Dim yo As String = appCache.Get("yo")
Dim policy As CacheItemPolicy = New CacheItemPolicy()
policy.AbsoluteExpiration = DateTimeOffset.Now.AddDays(10.0)
appCache.AddOrGetExisting("yo", "yo", policy)
Dim sessCache As MemoryCache = HttpContext.Current.Session("cache")
If IsNothing(sessCache) Then
sessCache = New MemoryCache("session")
End If
Dim yos As String = sessCache("yo")
sessCache.Add("yo", "syo", policy)
HttpContext.Current.Session("cache") = sessCache
End Sub
End Class