我使用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>
答案 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">