C# If语句即使为true也不执行该语句

C# If语句即使为true也不执行该语句,c#,C#,if station在本地主机上运行良好,但奇怪的是在生产服务器上却不工作。一旦托管在服务器上,总是执行else部分 public ActionResult Logged_in() { try { string abc = "0"; int m = 0; abc = Session["emp_code"].ToString(); if (abc == "

if station在本地主机上运行良好,但奇怪的是在生产服务器上却不工作。一旦托管在服务器上,总是执行else部分

   public ActionResult Logged_in()
    {
        try
        {
            string abc = "0";
            int m = 0;
            abc = Session["emp_code"].ToString();

            if (abc == "4035")
            {
                return RedirectToAction("Pending", "NIC_CO_OP");
            }
            else {
                return RedirectToAction("Index", "Dashboard");
            }
        }
        catch(Exception e)
        {
            return null;
        }

    }

在特定情况下,将字符串
abc
初始化为:

string abc = string.empty

这将始终确保
abc
在初始化期间具有空值。然后,一旦您从
会话
中获取数据,就会相应地设置
abc

您如何在服务器上初始化会话?似乎abc在服务器上从未安装过4035。可能服务器数据库没有该值,而您的本地主机上有该值?所以您的问题显然应该是“为什么生产服务器上的
abc
不是
“4035”
”?您确定会话变量
emp\u code
已在生产中设置吗?如果是“4035”@RahulSharma是的,当我检查用户是否存在,然后将其存储在会话中时,我正在初始化它。是的,服务器上存在4035用户。@RenéVogt是的,正确