2012-07-25 47 views
0

我的目標是正確分配會話並檢索存儲在該會話中的值。C#中的ASP.NET會話

當用戶來到我的第一頁,Default.aspx頁面時,我在後面的代碼中設置了會話。

HttpContext.Current.Session [「permissions」] =「Super」;

但是,我無法訪問另一個文件中的數據訪問類中的此部分。我做錯了什麼,或者是否有人知道從C#類訪問已設置會話的正確方法?

我嘗試使用相同的語法來訪問會話: 字符串權限= HttpContext.Current.Session [「權限」]的ToString();

+0

意味着它是空還是什麼? – mellamokb 2012-07-25 19:12:24

+5

我不認爲訪問會話是數據層的問題。爲什麼不重新考慮架構?你可以使用依賴注入來代替,或者來回傳遞一個變量 – Dimitri 2012-07-25 19:12:45

回答

1

我很確定,你總是可以覆蓋這種情況。你所要做的並不是一個好的設計主管。

你可以做的是通過填充該類的自定義屬性,將CurrentUser和/或他/她的角色傳遞給數據類。在該類中,您可以使用此屬性的值來處理用戶的角色。

讓我知道,如果這可以幫助你。

對於代碼示例,您可以隨時看這太問題

How to access session variables from any class in ASP.NET?

+0

鏈接類是一種更強大的方法。當我執行一個asmx web服務時,我確實需要啓用SessionState標誌。謝謝 – Garrett 2012-07-25 21:58:52