public static WebUser LoggedUser
{
get
{
WebUser sessionValue = null;
if (HttpContext.Current.Session["LoggedUser"] != null)
{
sessionValue = (WebUser)HttpContext.Current.Session["LoggedUser"];
}
return sessionValue;
}
set
{
HttpContext.Current.Session["LoggedUser"] = value;
}
}
HttpContext.Current.Session在Azure服务器的路由中被清除,同样在IIS服务器中正常工作,但为什么不在Azure?
请帮我保持会话价值
答案 0 :(得分:1)
HttpContext.Current.Session在Azure服务器的路由中被清除,在IIS服务器中工作正常但为什么不在Azure中工作?
我假设您使用Azure WebApp的多个实例。如果是这种情况,我们可以从天蓝色的official document得到答案。请尝试使用外部会话状态提供程序( Redis缓存服务或 SQL Server会话状态提供程序)。
如果您的ASP.NET Web应用使用会话状态,则需要配置外部会话状态提供程序( Redis缓存服务或 SQL Server会话状态提供程序)。如果您使用会话状态,并且不使用外部提供商,则您将仅限于您的网络应用的一个实例。