2014-09-04 37 views
0

我最近開始使用VS2013開發已建立的MVC應用程序。 出於某種原因,HttpContext.Current僅在調試模式下運行時爲空 - 如果我刪除斷點似乎工作,但我不明白爲什麼這應該發生在本地運行。僅當調試時HttpContext.Current爲空

這不僅僅是在Chrome上 - 到目前爲止,它也發生在通過IE11進行調試時。

如果有幫助,解決方案是使用IIS Express作爲開發Web服務器。

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

你沒有顯示任何代碼,所以我們很少和你一起工作。 – Paddy 2014-09-04 10:24:09

+2

如果您可以提供更多關於應用程序管道中的確切位置的信息,那麼您正嘗試調試'HttpContext'對象,那麼我們最好能夠幫助您。 – 2014-09-04 11:02:31

+1

事情是,我沒有試圖調試HttpContext,這只是在調用此方法時拋出: public UserSessionData GetSession() HttpSessionStateBase httpSession = new HttpSessionStateWrapper(HttpContext.Current.Session); – JimFR 2014-09-04 11:59:07

回答

0

不要讓調試器在這條線 - >HttpSessionStateBase httpSession = new HttpSessionStateWrapper(HttpContext.Current.Session); 執行此行之後,那麼只有該值將被分配到這個變量httpSession

因此,將調試器放在這一行 - >}。然後檢查QuickWatch或鼠標懸停中的httpSession

值應該在那裏。沒有它不是一個通用的問題。它的人爲錯誤/錯誤。

+0

正確。這是該應用故障列表中另一個問題的症狀。我的壞處:我是VS2013的新手,對於這個特殊的應用程序來說是新手! :-p – JimFR 2014-09-05 08:14:25

+0

@JimFR它沒關係。您的嘗試+1和歡迎使用堆棧溢出。 – RajeshKdev 2014-09-05 11:03:41

+0

@ShaunWilson問題是,用戶不知道如何正確調試代碼部分。在分配'httpSession'值之前(或者它可以爲null,或者可以保存一些值)。他正在嘗試檢查'httpSession'值。所以這是他的錯誤。在任務完成之前沒有任何東西。但是當他沒有調試時,仍然是相同的代碼。所以這是我的猜測。因爲他是MVC的新手。 **他沒有面對任何空引用異常**。發佈的答案解決了他的問題。因此他接受了它。 :) – RajeshKdev 2015-01-21 04:45:43

相關問題