C# .NET调试什么';加载到服务器时,Web窗体内的会话中的

C# .NET调试什么';加载到服务器时,Web窗体内的会话中的,c#,asp.net,.net,session,webforms,C#,Asp.net,.net,Session,Webforms,我目前正在开发一系列webforms,当按正确的顺序单击时,信息会存储到会话中。如果用户直接访问此页面,我希望将其重定向回第一个webform页面。我可以得到这个 当我在我的机器上本地运行此代码时,会话为null,if/else语句工作,重定向到default.aspx。但是,当我将文件加载到服务器并从网页运行时,我得到一个对象引用,该引用未设置为对象的实例。错误 protected void Page_Load(object sender, EventArgs e) { if (Ses

我目前正在开发一系列webforms,当按正确的顺序单击时,信息会存储到会话中。如果用户直接访问此页面,我希望将其重定向回第一个webform页面。我可以得到这个

当我在我的机器上本地运行此代码时,会话为null,if/else语句工作,重定向到default.aspx。但是,当我将文件加载到服务器并从网页运行时,我得到一个
对象引用,该引用未设置为对象的实例。
错误

protected void Page_Load(object sender, EventArgs e)
{
    if (Session != null && Session["ReasonForAdminRights"] != null)
    {
         ll.Text = Session["ReasonForAdminRights"].ToString();
    }
    else
    {
         Response.Redirect("~/default.aspx");
    }
}
我尝试了很多变化,但都没有成功,包括:

 if (!string.IsNullOrEmpty(Session["ReasonForAdminRights"] as string))
{
     ll.Text = ((string)Session["ReasonForAdminRights"]);
}

我在谷歌上搜索了一下,Stackoverflow上的答案告诉我会话对象设置不正确。但是我被困于如何在服务器上进一步调试它?我不知道如何找出里面到底是什么,因为它应该是空的,所以应该总是转到else语句

任何帮助都将不胜感激!我有点不知所措

已尝试的答案:

编辑 堆栈跟踪:

[NullReferenceException: Object reference not set to an instance of an object.]
   ServiceDeskHelpForms.user_details_collection.Page_Load(Object sender, EventArgs e) in \\homes\My Documents\Visual Studio 2015\Projects\SDHelpForms\SDHelpForms\user-details-collection.aspx.cs:24
   System.Web.UI.Control.OnLoad(EventArgs e) +108
   System.Web.UI.Control.LoadRecursive() +67
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

+4497

:根据问题的指令线索回答


该问题可能是由服务器上的安装中断引起的。在服务器上完成擦除+重新部署可能会解决此问题。

注意:根据问题的指令线索回答


该问题可能是由服务器上的安装中断引起的。在服务器上进行完整的擦除+重新部署可能会解决此问题。

您确定空异常来自相关页面,而不是来自重定向页面吗?是不是
ll
为空?@user1429080 ll是我首页中的一个标签-但我肯定不应该点击它?会话应该为空,因此我应该自动重定向?还是我误解了!:)你能把它叠起来吗trace@Saravanan是的-把它放在问题中我相信你的装置坏了。当您进行测试时,您到底是如何将更改从dev env移动到服务器的?您复制了哪些文件等?尝试擦除服务器上的所有内容,然后重新部署整个应用程序……您确定null异常来自相关页面,而不是来自重定向页面吗?是不是
ll
为空?@user1429080 ll是我首页中的一个标签-但我肯定不应该点击它?会话应该为空,因此我应该自动重定向?还是我误解了!:)你能把它叠起来吗trace@Saravanan是的-把它放在问题中我相信你的装置坏了。当您进行测试时,您到底是如何将更改从dev env移动到服务器的?您复制了哪些文件等?尝试擦除服务器上的所有内容,然后重新部署整个应用程序…尝试了此操作-但这一行仍然有错误:
ll.Text=((string)Session[“ReasonForAdminRights”])即使它不应该进入if语句,因为会话应该为空。尝试了此操作-但在此行仍然出现错误:
ll.Text=((string)Session[“ReasonForAdminRights”])即使它不应该进入if语句,因为会话应该为null。
[NullReferenceException: Object reference not set to an instance of an object.]
   ServiceDeskHelpForms.user_details_collection.Page_Load(Object sender, EventArgs e) in \\homes\My Documents\Visual Studio 2015\Projects\SDHelpForms\SDHelpForms\user-details-collection.aspx.cs:24
   System.Web.UI.Control.OnLoad(EventArgs e) +108
   System.Web.UI.Control.LoadRecursive() +67
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
var sessionValue= (string)(Session["ReasonForAdminRights"]);
if(!string.IsNullOrEmpty(sessionValue))
{
//do something...
}