我正在我正在进行的应用程序中实现redis cahce,我已成功为会话状态实现了redis缓存,现在会话存储在redis缓存中。
下面的web.config设置,
添加name =“MySessionStateStore” 类型= “Microsoft.Web.Redis.RedisSessionStateProvider” 端口= “6280” throwOnError =“true”connectionString =“webapplication1.redis.cache.windows.net:6380,password = some 密码,SSL =真,abortConnect =假” host =“webapplication1.redis.cache.windows.net”accessKey =“some key” SSL = “真”
同样现在我必须在redis cahce上移动当前的缓存实现,我已经在下面的代码片段中实现了(在vb.net中),
Public Function GetApplicationCacheData() As DataSet
Const rawKey As String = "AKey_"
Dim dsData As DataSet
Dim connection As ConnectionMultiplexer = ConnectionMultiplexer.Connect("webapplication1.redis.cache.windows.net:6280,password=some password,ssl=True,abortConnect=False")
Dim redisObj As IDatabase = connection.GetDatabase()
Dim valueObj As RedisValue = redisObj.StringGet(rawKey)
If Not valueObj.HasValue Then
dsData = class1.GetApplicationCacheData()
redisObj.StringSet(rawKey,JsonConvert.SerializeObject(dsData), TimeSpan.FromMinutes(90))
Else
dsData = JsonConvert.DeserializeObject(Of DataSet)(redisObj.StringGet(rawKey))
End If
Return dsData
End Function
现在问题是这个缓存实现工作正常,如果我从会话状态单独运行但是当我在redis缓存中实现会话状态和缓存时,会话变为null并且页面重定向到具有表单身份验证的登录页面。
我们在azure门户网站上创建了一个测试应用程序,并将其用于会话状态和缓存存储。
所以我的问题是,我们是否可以使用一个应用程序进行实现,或者我们应该在门户上创建另一个应用程序以在redis cahce中运行缓存功能或者我的实现有一些不一致?
答案 0 :(得分:0)
您是否尝试过设置" applicationName"会话状态配置的参数?