C# HttpContext.Current仅在调试时为null

C# HttpContext.Current仅在调试时为null,c#,asp.net-mvc,visual-studio-2013,C#,Asp.net Mvc,Visual Studio 2013,我最近开始使用VS2013开发一个已建立的MVC应用程序。 出于某种原因,HttpContext.Current只有在调试模式下运行时才为null-如果我删除断点,它似乎可以工作,但我不明白为什么在本地运行时会发生这种情况 这不仅仅是在Chrome上——到目前为止,在通过IE11进行调试时也会发生 如果有帮助的话,解决方案是使用iisexpress作为devweb服务器 public UserSessionData GetSession() { HttpSessionStateBase

我最近开始使用VS2013开发一个已建立的MVC应用程序。 出于某种原因,HttpContext.Current只有在调试模式下运行时才为null-如果我删除断点,它似乎可以工作,但我不明白为什么在本地运行时会发生这种情况

这不仅仅是在Chrome上——到目前为止,在通过IE11进行调试时也会发生

如果有帮助的话,解决方案是使用iisexpress作为devweb服务器

public UserSessionData GetSession()
{ 
    HttpSessionStateBase httpSession = new HttpSessionStateWrapper(HttpContext.Current.Session);
}

不要将调试器保留在这一行->HttpSessionStateBase httpSession=new HttpSessionStateWrapperHttpContext.Current.Session; 在执行这一行之后,只有值会被分配给这个变量httpSession

因此,将调试器保持在这一行->}。然后在QuickWatch或鼠标悬停中检查httpSession


值应该在那里。不,这不是一般问题。它是人为错误。

您没有显示代码,给我们提供的工作很少。如果您可以提供更多信息,说明您试图调试HttpContext对象的应用程序管道中的确切位置,那么我们最好能够帮助您。问题是,我没有尝试调试HttpContext,当调用此方法时,将抛出此消息:public UserSessionData GetSession{HttpSessionStateBase httpSession=new HttpSessionStateWrapperHttpContext.Current.Session;与调试时的一般问题相反,它现在看起来确实与应用程序错误相关。请编辑您的帖子,将您的问题包含的任何附加信息。避免将其添加到评论中,因为它们更难阅读并且可以删除ted更简单。您帖子的编辑按钮就在帖子标签下方。正确。这是此应用故障列表中另一个问题的症状。我的错:我是VS2013的新手,也是此特定应用的新手!:-p@JimFR没关系。+1欢迎您尝试并使用堆栈溢出。@ShaunWilson问题是,用户不知道如何调试代码部分正确。在分配httpSession值之前,它可以是空的,也可以包含一些值。他正在尝试检查httpSession值。所以这是他的错误。在分配之前,不会有任何内容。但当他没有调试时,仍然是相同的代码工作。所以我猜是这样。因为他是MVC新手。他没有面临任何空引用异常贴出的答案解决了他的问题,因此他接受了