即使对象发生变化,是否可以使变量中的值保持不变?

时间:2015-04-30 15:21:42

标签: c# code-behind

例如,我有这样的事情:

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;
    } 

}

1 个答案:

答案 0 :(得分:2)

那已经是你的行为了。对会话值的更改不会更改您拥有的字符串变量。