国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

如何實現(xiàn)ASP.NET網(wǎng)站個性化?

2024-07-10 13:07:44
字體:
供稿:網(wǎng)友
菜鳥學(xué)堂:

如今,個性化是大多數(shù)web應(yīng)用程序的一個關(guān)鍵部分。techrepublic和amazon就是典型的例子,它們能夠記住用戶的某些特征。應(yīng)用asp.net 1.x實現(xiàn)這一功能需要完成一些額外的工作,并要使用session對象,但2.0版本簡化了個性化過程。

個性文件

asp.net 2.0 profile系統(tǒng)允許你輕松存儲用戶的相關(guān)信息。你定義與每名用戶有關(guān)的屬性,并將它存儲在他們的個性文件中。個性文件數(shù)據(jù)可以用程序方便地訪問。與其它保存文件一樣,它必須被存儲,且個性文件默認使用sql server。 

profile系統(tǒng)以提供程序模型為基礎(chǔ),特殊的profile提供程序負責將屬性值序列化和解序列化到某個數(shù)據(jù)倉庫中。.net framework默認使用一個sqlprofileprovider類,它使用一個sql server數(shù)據(jù)庫表來存儲數(shù)據(jù)。 

系統(tǒng)配置

在使用asp.net 2.0的個性文件特性之前,必須對web服務(wù)器進行正確配置,使其支持這一特性。默認情況下,個性文件特性使用一個sql server終端,但你也可以建立自己的提供程序。在本文中,我主要討論標準的sql server終端,它使用默認的sqlprofileprovider類。 

sql server支持版本7.0、2000和2005。要配置一個支持sql server的系統(tǒng),首先應(yīng)配置數(shù)據(jù)庫服務(wù)器,最后是asp.net平臺。

.net framework 2.0中包含正確配置asp.net環(huán)境的工具。如果你使用了sql server 2005精簡版和visual studio,就不必進行配置。如果沒有應(yīng)用上述程序,第一步是注冊一個sql server連接。使用隨.net framework安裝的命令行工具aspnet_regsql.exe即可完成此項操作。在我的機器上,此工具的路徑為:

c:/windows/microsoft.net/v2.0.50727/aspnet_regsql.exe 

這個工具中包含大量的選項,你可以通過命令行選項(-?)詳細閱讀。在我的開發(fā)系統(tǒng)中,我使用現(xiàn)有的sql server 2000。下面的命令通過在指定服務(wù)器上建立必要的數(shù)據(jù)庫來進行環(huán)境配置。 

aspnet_regsql.exe –a p –e –s database_server_name 

命令行開關(guān)e告訴系統(tǒng)用當前用戶證書進行驗證。開關(guān)s允許你指定數(shù)據(jù)庫服務(wù)器名稱。開關(guān)a說明增加哪個選項,后面的p指明增加個性文件支持。執(zhí)行此命令即可建立一個sql server數(shù)據(jù)庫。數(shù)據(jù)庫的默認名稱為aspnetdb,但你也可以用命令行開關(guān)d撤銷它,開關(guān)d允許你指定一個現(xiàn)有的數(shù)據(jù)庫。

現(xiàn)在已建立一個sql server環(huán)境,接下來應(yīng)對asp.net 2.0進行配置,使其利用連接和個性文件。進入iis管理界面,查看iss網(wǎng)站(web sites)屬性并選擇asp.net標簽,即可激活asp.net環(huán)境屬性。選擇asp.net標簽上的編輯配置(edit configuration)按鈕。驗證(authentication)標簽包含一個角色(roles)區(qū),其中的角色管理(role management)被激活(應(yīng)查看這一點)。默認的sql server(localsqlserver)連接字符串在通用(general)標簽中指定。我的開發(fā)環(huán)境使用下面的連接字符串: 

data source= database_server_name;integrated security=sspi; 

initial catalog=aspnetdb;user instance=false 

將這些改變保存在asp.net環(huán)境中,把它連接到前面配置的sql server實例中。配置好平臺后,你就可以開始執(zhí)行。 

定義元素

個性文件中使用的數(shù)據(jù)元素在web.config文件中建立與保存(即被保存的數(shù)據(jù)值在那個文件中定義)。實際值(對不同用戶而言)保存在一個終端數(shù)據(jù)倉庫中。你可以指定每個屬性的名稱、數(shù)據(jù)類型和數(shù)據(jù)序列化的方式。

屬性的數(shù)據(jù)類型與.net中的有效標準數(shù)據(jù)類型相同。序列化選項一般依賴于被存儲的數(shù)據(jù)類型,但共有四個序列化選項: 

providerspecific:默認profile提供程序決定如何序列化屬性值。 

字符串:屬性值轉(zhuǎn)換成一個字符串。

xml:屬性值轉(zhuǎn)換成xml形式。

二進制:屬性值轉(zhuǎn)換成二進制形式。 

在屬性元素中定義的個性文件元素包含在一個個性文件元素中,它位于web.config文件的system.web部分。列表a中的 web.config包括一個應(yīng)用前面?zhèn)€性文件支持的個性文件片斷。它將使用兩個個性文件項目——firstname和lastname——它們保存字符串值并允許匿名用戶。

匿名用戶和認證用戶均可應(yīng)用個性文件特性。前面的web.config文件使用個性文件元素的allowanonymous屬性,并激活應(yīng)用程序匿名支持(anonymousidentification元素),從而指定匿名支持。

使用代碼 

正確配置環(huán)境后,就可以方便地在你的.net代碼中應(yīng)用個性文件元素。列表b中的簡單c#代碼使用個性文件元素來存儲并顯示數(shù)據(jù)值,它利用包含在system.web命名空間中的profile類。代碼中包含在代碼分離文件后的asp.net文件。 

列表c包含定制代碼的代碼分離(codebehind)。第一個按鈕存儲個性文件域中每個文本域的值。第二個按鈕從個性文件域中恢復(fù)值,并用這些值填充文本域。 

個性化更加簡化 

個性化只是asp.net 2.0許多新特性中的一個。經(jīng)過幾個配置步驟,你就可以通過標準的web.config文件和profile類編碼,方便地為應(yīng)用程序增加個性化特性。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平乐县| 武宁县| 精河县| 富锦市| 湘潭市| 孝昌县| 井陉县| 县级市| 南丰县| 汽车| 大同县| 黄冈市| 巢湖市| 盘锦市| 宁津县| 鄂伦春自治旗| 龙井市| 和林格尔县| 仪陇县| 固原市| 奉节县| 淮北市| 丰原市| 荔浦县| 贵德县| 肥西县| 昌吉市| 乌兰浩特市| 嘉定区| 穆棱市| 洛阳市| 耒阳市| 玉山县| 镇江市| 永嘉县| 汤原县| 信宜市| 怀来县| 白河县| 阿拉善盟| 海安县|