国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
什么是asp.net的profile
        “用戶配置文件”是Profile這個(gè)詞的直接翻譯,其實(shí)沒有文件的意思,默認(rèn)存儲在數(shù)據(jù)庫中,不用自己管理文件。 Profile是針對每個(gè)帳戶的數(shù)據(jù)存儲,比如一個(gè)電子商務(wù)網(wǎng)站的用戶購物車數(shù)據(jù)。
Profile是HttpContext類的一個(gè)屬性,是ProfileBase類,繼承自SettingsBase類。 所謂Provider,是你可以定義Profile如何存儲,默認(rèn)是存儲在LocalServer數(shù)據(jù)庫中,需要網(wǎng)站重啟動不丟失數(shù)據(jù),所以不能存在內(nèi)存中。 web.config中必須的Profile屬性:什么叫必須?你如果不修改默認(rèn)存儲,只有每個(gè)Profile的name是必須的,如: <profile defaultProvider="SqlProvider">//修改存儲才需要 <providers> <clear /> <add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="SqlServices" applicationName="SampleApplication" description="SqlProfileProvider for SampleApplication" /> </providers> <properties> <add name="ZipCode" />//用戶配置的項(xiàng)目才是必須的 <add name="CityAndState" /> </properties> </profile> </system.web>
Profile...用戶配置文件...從Win98開始Windows就引入了這一概念...用于多用戶系統(tǒng)的用戶個(gè)性化配置管理... 
ASP.NET中的Profile也是同樣的概念...它和Membership協(xié)同工作...但和Membership卻不是一回事... 
-----------MSDN------------------ 
System.Web.Profile 命名空間包含的類用于在 Web 服務(wù)器應(yīng)用程序中實(shí)現(xiàn) ASP.NET 用戶配置文件。 
ASP.NET 配置文件用于在數(shù)據(jù)源(如數(shù)據(jù)庫)中存儲和檢索用戶設(shè)置。配置文件信息和屬性值是使用配置文件提供程序管理的,可以使用 SqlProfileProvider 類存儲在 Microsoft SQL Server 數(shù)據(jù)庫中,也可以使用 ProfileProvider 抽象類的實(shí)現(xiàn)存儲在自定義數(shù)據(jù)源中。 

ASP.NET 配置文件是使用 profile 配置節(jié)配置的。 
在啟動啟用了用戶配置文件的應(yīng)用程序時(shí),ASP.NET 會創(chuàng)建一個(gè)類型為 ProfileCommon 的新類,該類從 ProfileBase 類繼承。強(qiáng)類型訪問器被添加到 profile 配置節(jié)中為每個(gè)屬性定義的 ProfileCommon 類中。ProfileCommon 類的一個(gè)實(shí)例被設(shè)置為當(dāng)前 HttpContext 對象的 Profile 屬性的值??梢詣?chuàng)建一個(gè)自定義配置文件實(shí)現(xiàn),該實(shí)現(xiàn)從 ProfileBase 抽象類繼承并為 profile 配置元素中未指定的用戶配置文件定義相應(yīng)的屬性。 
-----------MSDN------------------

    ASP.NET 2.0 中新增的 Profile 功能。

   .NET Framework SDK 的文檔中有這樣一段話,位于 System.Web.Profile.ProfileBase 類的首頁上:

在啟動啟用了用戶配置文件的應(yīng)用程序時(shí),ASP.NET 會創(chuàng)建一個(gè)類型為 ProfileCommon 的新類,該類從ProfileBase 類繼承。強(qiáng)類型訪問器被添加到 profile 配置節(jié)中為每個(gè)屬性定義的 ProfileCommon 類中。ProfileCommon 類的強(qiáng)類型訪問器調(diào)用 ProfileBase 基類的 GetPropertyValue 和 SetPropertyValue方法,分別用于配置文件屬性值的檢索和設(shè)置。ProfileCommon 類的一個(gè)實(shí)例被設(shè)置為 ASP.NET 應(yīng)用程序的 Profile 屬性的值。

   為了啟用 Profile 機(jī)制,我們需要在 web.config 中進(jìn)行必要的配置。比如:

<xml version="1.0"?><configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">  <connectionStrings>    <add name="TestDB"       connectionString="........"        providerName="System.Data.SqlClient" />  </connectionStrings>  <system.web>    <profile defaultProvider="TestProfileSqlProvider">      <providers>        <clear />        <add name="TestProfileSqlProvider"             type="System.Web.Profile.SqlProfileProvider"             connectionStringName="TestDB"             applicationName="Test" />      </providers>      <properties>        <add name="PreferredLang" defaultValue="zh-CN" />        <add name="PreferredTheme" defaultValue="Blue" />        <add name="RecordsPerPage" defaultValue="20"  type="System.Int32" />      </properties>    </profile>  </system.web></configuration>

上面的 Profile 配置,數(shù)據(jù)將被存儲在 TestDB 這個(gè) ConnectionString 所代表的那個(gè)數(shù)據(jù)庫中。Profile 中添加了三個(gè) properties:一個(gè)是 PreferredLang,代表用戶最喜歡的界面語言;一個(gè)是 PreferredTheme,代表用戶最喜歡的 ASP.NET 主題;一個(gè)是 RecordsPerPage,表示如果啟用分頁,每頁顯示的記錄條數(shù)。注意最后一個(gè)指定了類型 int。

下面按照我說的步驟做:找一個(gè) *.aspx.cs 文件(如果你沒有用 Code-Behind,則直接在 *.aspx 的 script runat="server" 塊中),比如在它的 Page_Load 方法中,輸入 Profile,把鼠標(biāo)放上去,你看到了什么?

比如當(dāng)前這個(gè)畫面的類名叫 Abc,你通過智能感知看到的應(yīng)該是 “ProfileCommon Abc.Profile”,表示這個(gè) Profile 類型是 ProfileCommon,是當(dāng)前類的一個(gè)屬性。

如果你繼續(xù)敲一個(gè)點(diǎn),你會發(fā)現(xiàn)這個(gè)類具有 PreferredLang (string 類型),PreferredTheme (string 類型),RecordsPerPage (int 類型)。恰好和你在 web.config 中的配置是一致的。

如果你有興趣,可以在 Profile.PreferredLang 的后半部分,右擊,“Go To Definition”,你會看到這個(gè) ProfileCommon 的代碼,當(dāng)然這些代碼也是自動生成的。這個(gè) ProfileCommon 類從 ProfileBase 類繼承,在基類基礎(chǔ)上根據(jù) web.config 的配置,添加了三個(gè)屬性。

看到這里,最開頭那段話的意義就明了了。

但我這篇的重點(diǎn),并不在于 ProfileCommon 類本身,因?yàn)橛辛?DataSet 的基礎(chǔ),這個(gè) ProfileCommon 也比較容易理解。我想請各位讀者關(guān)注一下這個(gè) Abc.Profile 屬性。

無論是使用單文件 aspx 還是 Code-Behind 機(jī)制的 aspx/aspx.cs 雙文件,我們都沒有顯式聲明過、一個(gè)名稱叫做 Profile、類型為 ProfileCommon 的屬性。而且在頁面的基類 Page 中,更是找不到蹤影。那么這個(gè)屬性是從哪兒來的?

這也是 ASP.NET 2.0 中內(nèi)置的一個(gè) BuildProvider 的作用。

ASP.NET Profile
屬性

作用:
存儲和使用唯一與用戶對應(yīng)的信息
展現(xiàn)個(gè)人化版本的Web應(yīng)用程序
用戶的唯一身份標(biāo)識在再次訪問時(shí)識別用戶

ASP.NET Profile如何工作

你的Web應(yīng)用程序運(yùn)行時(shí),ASP.NET創(chuàng)建一個(gè)從ProfileBase類動態(tài)繼承下來的動態(tài)生成出來的ProfileCommon類。動態(tài)ProfileCommon類包含了你在Web應(yīng)用程序配置文件中指定的Profile屬性所擁有的字段。一個(gè)動態(tài)ProfileCommon類的實(shí)例被設(shè)置成了當(dāng)前HttpContextProfile屬性,并可以在應(yīng)用程序的各個(gè)頁面中使用。

ASP.NET屬性的用戶身份

ASP.NET用戶Profile特性被設(shè)計(jì)用來為唯一當(dāng)前用戶提供信息。Profile可以與認(rèn)證用戶和匿名用戶同時(shí)使用。

認(rèn)證用戶

默認(rèn)地,一個(gè)用戶Profile與當(dāng)前HTTP上下文(可通過System.Web.HttpContext.Current訪問)中的User屬性中存儲的用戶身份關(guān)聯(lián)。用戶身份由如下因素決定:

·           ASP.NET表單審核系統(tǒng),成功審核后設(shè)置用戶身份。
·           Windows或者Passport審核,成功審核后設(shè)置用戶身份。
·           自定義審核,你管理用的信用憑證并手動設(shè)置用戶身份。

ASP.NET表單審核包括創(chuàng)建一個(gè)Login表單并提示請求用戶憑證。你可以通過使用Login控件創(chuàng)建Login表單和實(shí)現(xiàn)無編碼的表單審核。

匿名用戶

當(dāng)你未經(jīng)過登陸而在Web應(yīng)用程序中瀏覽時(shí),持有和使用的是匿名用戶身份。這種用戶身份的用戶名是一個(gè)GUID字符串。可以通過用戶遷移方法的重載將匿名用戶轉(zhuǎn)變?yōu)閷徍擞脩?,?shí)際上是為匿名用戶生成Profile和相應(yīng)的Cookie,不過維持的狀態(tài)保存在本地電腦,如果Cookie過期或者使用其它電腦就可能導(dǎo)致信息丟失。

開發(fā)相關(guān)問題:

ASP.NET Profile屬性使用Form審核機(jī)制,通過Cookie維持狀態(tài),可以保證不受會話超時(shí)影響,當(dāng)然也可以設(shè)定為Sliding Expire。ASP.NET Profile屬性所持有身份Cookie的超時(shí)時(shí)間需要在Web.config文件中的forms元素上設(shè)置timeout屬性,有值的區(qū)間限制,不過可以通過設(shè)置一個(gè)較大的值來維持一個(gè)“永久”的Profile。其實(shí)Cookie超時(shí)時(shí)間過長是有安全隱患的,不過為了滿足一些需求只好使用這種方法,但記得要加密Cookie并盡量使用SSL連接保持Cookie的安全性。

ASP.NET Profile屬性的相關(guān)字段和Provider需要在Web.config文件中進(jìn)行設(shè)置。而關(guān)鍵在于Provider,默認(rèn)使用的是輕量級數(shù)據(jù)庫(本地?cái)?shù)據(jù)庫文件)來支持Profile屬性,但是如果是企業(yè)級開發(fā),注意需要使用aspnet_regsql命令去生成數(shù)據(jù)庫,當(dāng)然這個(gè)數(shù)據(jù)庫可以是已經(jīng)存在的數(shù)據(jù)庫,方便開發(fā)者開發(fā)已存在系統(tǒng)的身份驗(yàn)證和審核功能。

ASP.NET Profile的另一個(gè)功能是因?yàn)閿?shù)據(jù)庫存儲了Web應(yīng)用服務(wù)器的各個(gè)Web應(yīng)用程序的根和與其對應(yīng)的身份,所以也被用來實(shí)現(xiàn)SSO


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
個(gè)性化用戶配置概述、profile配置節(jié)詳細(xì)介紹
ASP.NET 中的緩存配置
asp.net網(wǎng)頁緩存配置
如何實(shí)現(xiàn)ASP.NET網(wǎng)站個(gè)性化?
ASP.NET狀態(tài)管理的總結(jié)
Altairis Simple ASP.NET SQL Providers
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服