將使用者唯一資訊以持久格式儲存,自動識別用戶、取得資料,無需自建資料表。
<profile>
<properties>
<add name="PostalCode" />
<add name="Theme" default="Blue" />
<add name="ShoppingCart" type="MyApp.Cart" serializeAs="Binary" />
</properties>
</profile>
serializeAs:String/Xml/Binary/Custom。type:自訂型別完整名稱。allowAnonymous:匿名用戶支援。執行期 ASP.NET 產生繼承 ProfileBase 的 ProfileCommon 類別,屬性對應設定檔定義。HttpContext.Current.Profile 回傳此類別實例。
// 寫入
Profile.PostalCode = txtPostalCode.Text;
// 讀取
var weather = GetWeatherInfo(Profile.PostalCode);
無需手動識別用戶、寫入資料庫,Provider 自動處理。
SqlProfileProvider:預設,SQL Server 儲存 (可指定連線字串)。ProfileProvider 實作 GetPropertyValues/SetPropertyValues。Profile 以聲明式設定 + 強型別存取 + Provider 抽象,大幅簡化使用者個人化資料管理,是會員制網站的標準選擇。