2011-02-23 54 views
3

會話和配置文件之間的基本區別是什麼。無論我們存儲在會話中,數據都可以從asp.net中的任何頁面訪問,而且無論我們存儲在配置文件中,數據也可以從配置文件的asp.net中的任何頁面訪問。我經常在會話中存儲用戶特定的數據。所以我只想知道在什麼樣的情況下我們將數據存儲在配置文件中而不是會話中。另一件事我想知道誰的表現是好的會議或配置文件。請討論。謝謝關於asp.net中的配置文件和會話

回答

7

檔案

1- Profile對象範圍限定於特定的用戶: Web應用程序的每個用戶都自動擁有了自己的個人資料。

2- Profile對象是持續性: 當你修改統計操作系統配置文件對象,修改的內容訪問的網站之間

3- Profile對象使用提供模型來存儲信息: 默認,用戶配置文件的內容將自動保存到位於您的Web應用程序的App_Data中的Microsoft SQL Server Express數據庫 。

4-配置文件對象是強類型的: 使用強類型屬性有幾個優點。例如,當你在 VS.NET 2005或Visual Web Developer使用配置對象獲得完整的Microsoft智能感知

會議

1- Session對象範圍限定於特定的用戶: 的每個用戶一個Web應用程序會自動擁有自己的會話狀態。

2-會話對象是非持久性的: 當您將一個項目添加到Session對象時,項目在您離開網站後消失。

3-會話對象使用三種不同的方式被存儲: 3.1:處理中 - 默認 3.2:狀態服務器(出處理的) 3.3:SQL服務器

4-會話對象不是強類型:

來源:Profile VS Session

+0

非常感謝您的好解釋。 – Thomas 2011-02-23 09:35:12

1

會話數據將持續會話的整個生命週期。配置文件數據保存在asp.net數據庫中,因此它可以持續保存在多個會話中,這取決於經過身份驗證的用戶的憑據。

+0

它的結論是,配置文件是爲認證用戶,而會話是爲匿名用戶? – 2016-05-25 05:54:41

+1

@Kasper,no。會話可以用於匿名用戶和經過身份驗證的用戶。要確定對於已驗證用戶屬性的屬性,您必須回答以下問題:該屬性更多是關於會話/訪問實例還是用戶的屬性?就我個人而言,我使用會話來獲取不需要持久性和更頻繁更改的屬性。 – 1c1cle 2016-05-31 14:47:36

0

除了Hawxby的和達維德Piras酒店答案,這在技術上是正確的,我也覺得有配置文件和會話之間的概念上的差異。我覺得配置文件的屬性是會話用戶的屬性,因爲會話應該包含會話的屬性。例如,在我的應用程序中,我使用Profile屬性,因爲我經常爲了安全性和效率考慮而調用Session.Clear(),而不用擔心我會丟失用戶的屬性。