網(wǎng)站建設(shè)如何個(gè)性化?ASP.NET 2.0 Profile系統(tǒng)允許你輕松存儲(chǔ)用戶的相關(guān)信息。定義與每名用戶有關(guān)的屬性,并將它存儲(chǔ)在他們的個(gè)性文件中。個(gè)性文件數(shù)據(jù)可以用程序方便地訪問。Profile系統(tǒng)以提供程序模型為基礎(chǔ),特殊的Profile提供程序負(fù)責(zé)將屬性值序列化和解序列化到某個(gè)數(shù)據(jù)倉庫中。.NET Framework默認(rèn)使用一個(gè)SqlProfileProvider類,它使用一個(gè)SQL Server數(shù)據(jù)庫表來存儲(chǔ)數(shù)據(jù)。
在使用ASP.NET 2.0的個(gè)性文件特性之前,必須對(duì)Web服務(wù)器進(jìn)行正確配置,使其支持這一特性。默認(rèn)情況下,個(gè)性文件特性使用一個(gè)SQL Server終端,但也可以建立自己的提供程序。具體步驟如下:
先進(jìn)步:注冊一個(gè)SQL Server連接
.NET Framework 2.0中包含正確配置ASP.NET環(huán)境的工具。如果你使用了SQL Server 2005精簡版和Visual Studio,就不必進(jìn)行配置。如果沒有應(yīng)用上述程序,在開發(fā)系統(tǒng)中,使用現(xiàn)有的SQL Server 2000。下面的命令通過在指定服務(wù)器上建立必要的數(shù)據(jù)庫來進(jìn)行環(huán)境配置。以下是引用片段:
Aspnet_regsql.exe –A p –E –S database_server_name
命令行開關(guān)E告訴系統(tǒng)用當(dāng)前用戶證書進(jìn)行驗(yàn)證。開關(guān)S允許指定數(shù)據(jù)庫服務(wù)器名稱。開關(guān)A說明增加哪個(gè)選項(xiàng),后面的p指明增加個(gè)性文件支持。執(zhí)行此命令即可建立一個(gè)SQL Server數(shù)據(jù)庫。數(shù)據(jù)庫的默認(rèn)名稱為aspnetdb,但也可以用命令行開關(guān)d撤銷它,開關(guān)d允許指定一個(gè)現(xiàn)有的數(shù)據(jù)庫。
第二步:配置ASP.NET 2.0,利用連接和個(gè)性文件
進(jìn)入IIS管理界面,查看ISS網(wǎng)站(Web Sites)屬性并選擇ASP.NET標(biāo)簽,即可激活A(yù)SP.NET環(huán)境屬性。選擇ASP.NET標(biāo)簽上的編輯配置(Edit Configuration)按鈕。驗(yàn)證(Authentication)標(biāo)簽包含一個(gè)角色(Roles)區(qū),其中的角色管理(Role Management)被激活(應(yīng)查看這一點(diǎn))。默認(rèn)的SQL Server(LocalSqlServer)連接字符串在通用(General)標(biāo)簽中指定。開發(fā)環(huán)境使用下面的連接字符串:
data source= database_server_name;Integrated Security=SSPI;
Initial Catalog=aspnetdb;User Instance=false
第三步:定義元素
個(gè)性文件中使用的數(shù)據(jù)元素在web.config文件中建立與保存。實(shí)際值保存在一個(gè)終端數(shù)據(jù)倉庫中??梢灾付總€(gè)屬性的名稱、數(shù)據(jù)類型和數(shù)據(jù)序列化的方式。屬性的數(shù)據(jù)類型與.NET中的有效標(biāo)準(zhǔn)數(shù)據(jù)類型相同。序列化選項(xiàng)一般依賴于被存儲(chǔ)的數(shù)據(jù)類型,但共有四個(gè)序列化選項(xiàng):ProviderSpecific:默認(rèn)Profile提供程序決定如何序列化屬性值;字符串:屬性值轉(zhuǎn)換成一個(gè)字符串;Xml:屬性值轉(zhuǎn)換成XML形式;二進(jìn)制:屬性值轉(zhuǎn)換成二進(jìn)制形式。
在屬性元素中定義的個(gè)性文件元素包含在一個(gè)個(gè)性文件元素中,它位于web.config文件的system.web部分。列表A中的web.config包括一個(gè)應(yīng)用前面?zhèn)€性文件支持的個(gè)性文件片斷。它將使用兩個(gè)個(gè)性文件項(xiàng)目——FirstName和LastName——它們保存字符串值并允許匿名用戶。匿名用戶和認(rèn)證用戶均可應(yīng)用個(gè)性文件特性。前面的web.config文件使用個(gè)性文件元素的allowAnonymous屬性,并激活應(yīng)用程序匿名支持,從而指定匿名支持。
第四步:使用代碼
正確配置環(huán)境后,就可以方便地在網(wǎng)站建設(shè)代碼中應(yīng)用個(gè)性文件元素。列表B中的簡單C#代碼使用個(gè)性文件元素來存儲(chǔ)并顯示數(shù)據(jù)值,它利用包含在System.Web命名空間中的Profile類。代碼中包含在代碼分離文件后的ASP.NET文件。列表C包含定制代碼的代碼分離。先進(jìn)個(gè)按鈕存儲(chǔ)個(gè)性文件域中每個(gè)文本域的值。第二個(gè)按鈕從個(gè)性文件域中恢復(fù)值,并用這些值填充文本域。