zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    jmeter 安装
    Day05_系统监控、rpm、yum软件包管理及源码安装python解释器
    Day04_vim编辑器及硬盘操作
    Day03_用户群组权限及正文处理命令
    Day02_操作系统、网络及Linux基础
    Day01_计算机硬件及启动流程
    让Sublime Text成为静态WEB服务器:SublimeServer
    sublime text2-text3 定义的不同浏览器的预览快捷键
    css之px自动转rem—“懒人”必备
    修改Sublime Text3 的侧边栏字体大小
  • 原文地址:https://www.cnblogs.com/sdikerdong/p/815596.html
Copyright © 2011-2022 走看看