2014-04-16 63 views
2

這可能是一個很簡單的問題,但我似乎無法找到任何信息。在瀏覽器中查看會話變量

我創建了客戶內部網web應用程序,和我使用的會話變量,它開始爲他們登錄

EG:

Session["ConsultantFirstname"] = adAuth.getFirstName(); 
Session["ConsultantLastName"] = adAuth.getLastName(); 

//Then I also have a reader on page load which creates these... 

while (reader.Read()) 
{ 
    Session["Department"] = reader[1].ToString(); 
    Session["Channelid"] = reader[2].ToString(); 
    Session["EmailAddress"] = reader[3].ToString(); 
    Session["PrimaryTerritory"] = reader[4].ToString(); 
} 

我的問題是...如何我在瀏覽器中看到了什麼會話變量被創建了? (如果我選擇「檢查元素」>「資源」>會話存儲..他們不應該在那裏?)我很確定我前一段時間閱讀了一個教程,但我現在似乎無法找到它。

enter image description here

我需要添加一些額外的代碼?

回答

4

您無法在客戶端查看會話狀態變量。會話狀態存儲在服務器上,客戶端瀏覽器只知道存儲在cookie或URL中的SessionID。

MSDN說:

會議由一個唯一的標識符,可以通過使用 的SessionID屬性讀取識別。當針對 ASP.NET應用程序啓用會話狀態時,應用程序中每個對頁面的請求都是 ,檢查瀏覽器發送的SessionID值。如果未提供SessionID 值,則ASP.NET將啓動一個新的會話,並將該會話的SessionID值發送給帶有響應的瀏覽器。

默認情況下,SessionID值存儲在cookie中。但是,您也可以將 配置爲在「無cookie」會話中將URL存儲在URL 中的應用程序。

Google Chrome provides some extension,通過它您可以編輯的cookie。

+2

嗯,猜猜生病只是現在就把它們添加到cookie中。我現在想看到他們的唯一原因是要確保正確的會話正在運行,以便在頁面之間進行切換等。感謝您的確認! – Mike

+0

任何原因,你不做客戶端日誌記錄或值的一般輸出?我會假設你不想用可見的會話變量進行部署。我只是建議這樣做,因爲使用cookie是因爲您可能忘記在生產中將其刪除;如果它立即顯現在頁面上,則很難錯過。您也可以使用HTML 5新增的本地存儲,而客戶機上最多可以存儲10 MB數據。 –

1

試着把print_r($_SESSION);在您的代碼 中,此時將打印$ _SESSION變量的內容。

+0

你應該指出你使用的語言,雖然熟悉PHP的人會明白它(我希望無論如何: - /)。使用ASP.NET,根據您使用的語法,<%Session [「key」]%>或@Session [「key」]是您如何訪問變量。當然不是說你的回答錯了。這些標籤顯示ASP.NET,C#,因此應該首先解決,但我不會投票,因爲它對於OP以外的人來說是一個很好的答案。 –