sqlprofileProvider用法

做項目中發現微軟已經為開發人員做好了許多事情,profileProvider就是其中之一,它主要用于當前用戶(已注冊的或匿名用戶)個人的屬性,有人會問這些屬性可以定義在表中,為什么用profile,就是因為profile在不同的系統中可能有不設定值,所以是動態的,為了可以用最小的開發來實現及時性不高但變化相對快的設定而建制的。
SqlProfileProvider直接將property寫入數據庫或從數據庫中讀出。用它必須有以下几步:
1. 在web.config中有Profile的配置。
<system.web>
<anonymousIdentification enabled ="true "/>
   <profile defaultProvider="sqlprovider1" enabled ="true " automaticSaveEnabled ="true" >
    <providers>
     <clear />
     <add name="sqlprovider1"
    type="System.Web.Profile.SqlProfileProvider"
    connectionStringName="Login"
    applicationName="Tuna"
    description="for SampleApplication" />
    </providers>
   
    <properties>
     <add name ="firstname" allowAnonymous ="true"/>
     <add name ="lastname" allowAnonymous ="true"/>
    </properties>
   </profile>  

</system.web>

2. 在需要使用profile的地點用如下語句調用:
SettingsPropertyValueCollection ppvc = ProfileManager.Provider.GetPropertyValues(HttpContext.Current.Profile.Context, ProfileBase.Properties);
string firstname = ppvc["firstname"].PropertyValue as string ;
ppvc["lastname"].PropertyValue = "abc";
ProfileManager.Provider.SetPropertyValues(HttpContext.Current.Profile.Context, ppvc);

3. 也可以在代碼中寫入config中沒有的屬性:
            SettingsPropertyValueCollection ppvc = ProfileManager.Provider.GetPropertyValues(HttpContext.Current.Profile.Context, ProfileBase.Properties);

            string firstname = ppvc["firstname"].PropertyValue as string ;
            SettingsAttributeDictionary dictionary1 = new SettingsAttributeDictionary();
            dictionary1.Add ("AllowAnonymous", true);
            SettingsProperty sps = new SettingsProperty("Ext", typeof(string), ProfileManager.Provider, false, "default", SettingsSerializeAs.String, dictionary1, false, true);
            SettingsPropertyValue sp = new SettingsPropertyValue (sps) ;
            ppvc.Add(sp);
 
            ppvc["Ext"].PropertyValue = "9999";

            ProfileManager.Provider.SetPropertyValues(HttpContext.Current.Profile.Context, ppvc);

转载于:https://www.cnblogs.com/sdikerdong/archive/2007/07/12/815596.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值