1
我是小失物......失去从会议间歇
我们使用SQLSERVER会话共享和我们的生产(2台服务器)和分期(2台服务器),我只是从会议间歇性地失去一个项目。分段和生产都是负载平衡的,并且在相同的服务器上,但指向不同的数据库。
我的本地开发和dev站点(不同的服务器)没有这个问题。这些都使用开发数据库。
Sql服务器会话表和sprocs特定于环境,因为它们是在dev,staging或生产数据库中设置的。
代码放置在会议
SessionService.AddItem(SessionKeys.LoggedInUser, user); //this is always available
SessionService.AddItem(SessionKeys.Impersonator, inhouseUser); //this is lost intermittently
public static void AddItem(string key, object value)
{
CheckSessionAvailability();
HttpContext.Current.Session[key] = value;
}
获取项目从会议内容:
User inhouseUser = SessionService.GetItem<User>(SessionKeys.Impersonator);
public static T GetItem<T>(string key)
{
object item = null;
CheckSessionAvailability();
item = HttpContext.Current.Session[key];
if ((item != null) && !(item is T))
{
throw new ApplicationException("Cannot convert");
}
return (T)item;
}
你有没有在web.config中定义的机器密钥? – Fredou 2014-09-04 17:27:27
是 –
2014-09-04 17:36:14
我已经回收应用程序池并重新启动暂存站点。这没有帮助。 – 2014-09-04 17:49:57