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

首頁(yè) > 編程 > .NET > 正文

如何實(shí)現(xiàn)ASP.NET網(wǎng)站個(gè)性化_.Net教程

2024-07-10 12:50:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:給初學(xué).net的您幾點(diǎn)建議
天轟穿vs2005入門.net2.0系列視頻教程推出已經(jīng)有接近8個(gè)月了,這期間我收到非常多的反饋,我只能用非常來(lái)形容,呵呵,當(dāng)然也了解了很多人的心理和學(xué)習(xí)方法。但是很遺憾的是,我看到了大多數(shù)人激

如今,個(gè)性化是大多數(shù)Web應(yīng)用程序的一個(gè)關(guān)鍵部分。TechRepublic和Amazon就是典型的例子,它們能夠記住用戶的某些特征。應(yīng)用ASP.NET 1.x實(shí)現(xiàn)這一功能需要完成一些額外的工作,并要使用Session對(duì)象,但2.0版本簡(jiǎn)化了個(gè)性化過(guò)程。

個(gè)性文件

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

Profile系統(tǒng)以提供程序模型為基礎(chǔ),特殊的Profile提供程序負(fù)責(zé)將屬性值序列化和解序列化到某個(gè)數(shù)據(jù)倉(cāng)庫(kù)中。.NET Framework默認(rèn)使用一個(gè)SqlProfileProvider類,它使用一個(gè)SQL Server數(shù)據(jù)庫(kù)表來(lái)存儲(chǔ)數(shù)據(jù)。

系統(tǒng)配置

在使用ASP.NET 2.0的個(gè)性文件特性之前,必須對(duì)Web服務(wù)器進(jìn)行正確配置,使其支持這一特性。默認(rèn)情況下,個(gè)性文件特性使用一個(gè)SQL Server終端,但你也可以建立自己的提供程序。在本文中,我主要討論標(biāo)準(zhǔn)的SQL Server終端,它使用默認(rèn)的SqlProfileProvider類。

SQL Server支持版本7.0、2000和2005。要配置一個(gè)支持SQL Server的系統(tǒng),首先應(yīng)配置數(shù)據(jù)庫(kù)服務(wù)器,最后是ASP.NET平臺(tái)。

.NET Framework 2.0中包含正確配置ASP.NET環(huán)境的工具。如果你使用了SQL Server 2005精簡(jiǎn)版和Visual Studio,就不必進(jìn)行配置。如果沒有應(yīng)用上述程序,第一步是注冊(cè)一個(gè)SQL Server連接。使用隨.NET Framework安裝的命令行工具Aspnet_regsql.exe即可完成此項(xiàng)操作。在我的機(jī)器上,此工具的路徑為:

C:/Windows/Microsoft.NET/v2.0.50727/aspnet_regsql.exe

這個(gè)工具中包含大量的選項(xiàng),你可以通過(guò)命令行選項(xiàng)(-?)詳細(xì)閱讀。在我的開發(fā)系統(tǒng)中,我使用現(xiàn)有的SQL Server 2000。下面的命令通過(guò)在指定服務(wù)器上建立必要的數(shù)據(jù)庫(kù)來(lái)進(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ù)庫(kù)服務(wù)器名稱。開關(guān)A說(shuō)明增加哪個(gè)選項(xiàng),后面的p指明增加個(gè)性文件支持。執(zhí)行此命令即可建立一個(gè)SQL Server數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的默認(rèn)名稱為aspnetdb,但你也可以用命令行開關(guān)d撤銷它,開關(guān)d允許你指定一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)。

現(xiàn)在已建立一個(gè)SQL Server環(huán)境,接下來(lái)應(yīng)對(duì)ASP.NET 2.0進(jìn)行配置,使其利用連接和個(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

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

定義元素

個(gè)性文件中使用的數(shù)據(jù)元素在web.config文件中建立與保存(即被保存的數(shù)據(jù)值在那個(gè)文件中定義)。實(shí)際值(對(duì)不同用戶而言)保存在一個(gè)終端數(shù)據(jù)倉(cāng)庫(kù)中。你可以指定每個(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)用程序匿名支持(anonymousIdentification元素),從而指定匿名支持。

使用代碼

正確配置環(huán)境后,就可以方便地在你的.NET代碼中應(yīng)用個(gè)性文件元素。列表B中的簡(jiǎn)單C#代碼使用個(gè)性文件元素來(lái)存儲(chǔ)并顯示數(shù)據(jù)值,它利用包含在System.Web命名空間中的Profile類。代碼中包含在代碼分離文件后的ASP.NET文件。

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

個(gè)性化更加簡(jiǎn)化

個(gè)性化只是ASP.NET 2.0許多新特性中的一個(gè)。經(jīng)過(guò)幾個(gè)配置步驟,你就可以通過(guò)標(biāo)準(zhǔn)的web.config文件和Profile類編碼,方便地為應(yīng)用程序增加個(gè)性化特性。

分享:.NET2.0抓取網(wǎng)頁(yè)全部鏈接
效果圖后臺(tái)代碼 以下為引用的內(nèi)容:using System;using System.Data;using System.Configuration;using System.Web;using Sy

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临清市| 崇文区| 河南省| 遵义市| 林芝县| 东山县| 普宁市| 昭平县| 集安市| 岚皋县| 新源县| 莱州市| 工布江达县| 喜德县| 抚宁县| 襄城县| 岐山县| 武清区| 耿马| 天峨县| 曲松县| 三都| 中超| 略阳县| 平昌县| 黄梅县| 大丰市| 页游| 永福县| 荆州市| 吉林市| 沙雅县| 郑州市| 安仁县| 博野县| 镇原县| 洪雅县| 罗定市| 宣化县| 象州县| 石家庄市|