例如,我有这样的事情:
MyFirstSess = ((string)Session["WindowName"]);
然后我有:
MySecondSess = ((string)Session["WindowName"]);
对象(对我来说)是检查函数中各个点的WindowName。但是,每当我尝试比较它们时,它们都是平等的。所以,我试图弄清楚如何存储MyFirstSess以便它永远不会改变,即使它是对象(在这种情况下,((字符串)Session [" WindowName"]) ;)确实。
这可能吗?
编辑:完整代码:
public partial class PreventMultipleWindows : System.Web.UI.UserControl
{
public string MyFirstSess;
public string MySecondSess;
protected void Page_Load(object sender, EventArgs e)
{
MyFirstSess = ((string)Session["WindowName"]);
string MySess = ((string)Session["WindowName"]);
if (MySess != null)
{
MySecondSess = ((string)Session["WindowName"]);
}
if (MyFirstSess != MySecondSess)
{
string WindowName = "InvalidPage";
Session["WindowName"] = WindowName;
return;
}
}
public string GetWindowName()
{
string WindowName = Guid.NewGuid().ToString().Replace("-", "");
Session["WindowName"] = WindowName;
return WindowName;
}
}
答案 0 :(得分:2)
那已经是你的行为了。对会话值的更改不会更改您拥有的字符串变量。