Redis会议在20分钟后到期,为什么?

时间:2014-12-23 19:30:16

标签: c# azure redis session-state

我使用redis缓存(天蓝色服务器)

System.Web.HttpContext.Current.Session["UserID"] = user.Id;

20分钟后System.Web.HttpContext.Current.Session["UserID"]返回null

我将Microsoft.Web.RedisSessionStateProvider用于我的自定义搜索。

在致电System.Web.HttpContext.Current.Session["UserID"]

时,滑动会话的最佳方式是什么?
<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="SERVER" accessKey="KEY" ssl="true" throwOnError="false" />
  </providers>
</sessionState>

2 个答案:

答案 0 :(得分:0)

当我调用变量时,我同时更新会话变量,如下所示:

var userId = System.Web.HttpContext.Current.Session["UserID"]; // Get value 
System.Web.HttpContext.Current.Session["UserID"] = userId; // Refresh it immediately to increase timeout

答案 1 :(得分:0)

您未设置超时配置,默认超时配置为20分钟。 试试这个

<sessionState mode="Custom" customProvider="MySessionStateStore" timeout="120">