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