Я хочу реализовать кэширование в веб-приложении .NET4 с использованием VB.NET.Я проверил это, но хочу подтвердить, что мое понимание правильное.
Я хочу реализовать кеширование на уровне приложения, то есть один кеш, общий для всех сессий / пользователей, а также реализовать кеширование на уровне сеанса, т.е. один кеш наsession / user.
В приведенном ниже классе я прав, говоря, что 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