【发布时间】:2013-08-01 06:10:18
【问题描述】:
我正在开发一个应用程序,我们在会话中保存一些成员(未登录用户)的信息。
该特定 ID 用于收款和做其他事情。但是,当我打开该应用程序的两个选项卡或该应用程序的两个窗口时;成员的会话 ID 不匹配。当前选项卡获取打开的辅助选项卡的 ID。
我请求一些指导/帮助。
我正在使用以下代码:
public static object GetSessionValue(string sessionName) {
if (HttpContext.Current.Session[sessionName] == null) {
return null;
} else {
return HttpContext.Current.Session[sessionName];
}
}
public static void SetSessionValue(string sessionName, object sessionValue) {
HttpContext.Current.Session[sessionName] = sessionValue;
}
【问题讨论】:
-
不是一个好主意。如果您尝试同时处理两个会话,您将面临更大的问题。
-
您正在使用(或测试)哪个浏览器?
-
提示:您可以消除
GetSessionValue中的 if 语句,因为您正在检查== null但如果是则返回相同的值。只需返回HttpContext.Current.Session[sessionName]。 -
我不明白这个问题。 “sessionName”值从何而来——它是 URL 的一部分吗?第二个标签如何获得它的地址 - 您是手动输入还是在新标签中打开链接?
-
@Maarten - 我正在使用 Firefox。实际上,该应用程序是特定于 Firefox 的。但即使我返回 HttpContext.Current.Session[sessionName] (没有 if)那么问题也没有解决
标签: c# asp.net asp.net-mvc session-variables sessionid