zoukankan      html  css  js  c++  java
  • 个性化用户配置概述、Profile配置节详细介绍

     一、基本内容
        个性化用户配置将配置信息与单个用户关联,用户的数据存储在ASP.NET2.o提供的数据库中,所以能够持久保存。以下几点需要注意:1.存储的数据可以是与用户有关的数据,如果背景颜色、数据显示的条数等等。2.所存储的数据可以是简单数据类型,如String、Int等,也可以是开发人员自己定义的对象。3.默认情况下支持的是注册用户,可以显示声明allowAnonymous=true来实现对匿名用户的支持。4.默认情况下使用的数据库是SqlExpress,可以通过修改Web.Config文件中的ConnectionString和使用aspnet_regsql工具,实现对SqlServer2000数据库的支持。第四部分会给出具体方法。

        二、web.config中<profile>的详细配置

        <profile enabled="true|false" inherits="fully qualified type reference" automaticSaveEnabled="true|false"
        defaultProvider
    ="provider name">
          
    <properties>
            
    <add name="property name" type="fully qualified type reference" provider="provider name"
            serializeAs
    ="String|Xml|Binary|ProviderSpecific" allowAnonymous="true|false"
            defaultValue
    ="default property value" readOnly="true|false" customProviderData="data for a custom profile provider" />
            
    <clear />
            
    <remove name="property name" />
            
    <group name="group name">
              
    <add name="property name" type="fully qualified type reference" provider="provider name"
              serializeAs
    ="String|Xml|Binary|ProviderSpecific" allowAnonymous="true|false"
              defaultValue
    ="default property value" readOnly="true|false" customProviderData="data for a custom profile provider" />
              
    <remove name="property name" />
            
    </group>
          
    </properties>
          
    <providers>
            
    <add name="provider name" type="fully qualified type reference" connectionStringName="connection string identifier"
            commandTimeout
    ="number of seconds before a command times out" description="description of the provider instance"
            applicationName
    ="application name for stored profile information" />
            
    <remove name=" provider name" />
            
    <clear/>
          
    </providers>
        
    </profile>

        以上配置是从MSDN中整理出来的,看上去眼花缭乱的都快晕了,下面给出分解的配置,让我们来慢慢消化。
        Profile的基本结构
    <profile
        
    enabled="true|false"
        inherits
    ="fully qualified type reference"
        automaticSaveEnabled
    ="true|false"
        defaultProvider
    ="provider name">
        
    <properties></properties>
        
    <providers></providers>
    </profile>

    属性 

    属性

    说明

    enabled

    可选的 Boolean属性。

    指定是否启用 ASP.NET 用户配置文件。如果为 true,则启用 ASP.NET 用户配置文件。

    默认值为 true

    defaultProvider

    可选的 String属性。

    指定默认配置文件提供程序的名称。

    有关更多信息,请参见 Provider

    默认值为 AspNetSqlProfileProvider

    inherits

    可选的 String属性。

    包含从 ProfileBase 抽象类派生的自定义类型的类型引用。ASP.NET 动态地生成一个从该类型继承的 ProfileCommon类,并将该类放在当前 HttpContextProfile 属性中。

    automaticSaveEnabled

    可选的 Boolean属性。

    指定用户配置文件是否在 ASP.NET 页执行结束时自动保存。如果为 true,则用户配置文件在 ASP.NET 页执行结束时自动保存。

    只有在 ProfileModule 对象检测到某一用户配置文件已修改的情况下,该模块才保存该配置文件。也就是在 IsDirty 属性为 true的情况下。有关更多信息,请参见 ASP.NET 配置文件属性

    默认值为 true

    子元素 

    元素

    说明

    properties

    必选的元素。

    定义用户配置文件属性和属性组的集合。

    providers

    可选的元素。

    定义配置文件提供程序的集合。

    父元素 

    元素

    说明

    configuration

    指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

    system.web

    为 ASP.NET 配置节指定根元素。


        profile 的 properties 元素:

    <properties>
        
    <add />
        
    <clear />
        
    <remove />
        
    <group></group>
    </properties>

    子元素 

    元素

    说明

    add

    可选的元素。

    向用户配置文件添加属性。

    clear

    可选的元素。

    从用户配置文件中清除以前定义的所有属性。

    group

    可选的元素。

    定义用户配置文件属性的分组。

    remove

    可选的元素。

    从用户配置文件中移除属性。

    父元素 

    元素

    说明

    configuration

    指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

    system.web

    为 ASP.NET 配置节指定根元素。

    profile

    为应用程序配置用户配置文件。


        profile 的 properties 的 add 元素:

    <add 
        
    name="property name" 
        type
    ="fully qualified type reference"
        provider
    ="provider name"
        serializeAs
    ="String|Xml|Binary|ProviderSpecific"
        allowAnonymous
    ="true|false"
        defaultValue
    ="default property value"
        readOnly
    ="true|false"
            customProviderData
    ="data for a custom profile provider"
    />

    属性 

    属性

    说明

    name

    必选的 String属性。

    指定属性名。该值用作自动生成的配置文件类的属性的名称,并用作该属性在 Properties 集合中的索引值。该属性的名称不能包含句点 (.)。

    有关自动生成用户配置文件属性的更多信息,请参见 ASP.NET 配置文件属性概述

    type

    可选的 String属性。

    指定属性类型。

    默认值为 String

    provider

    可选的 String属性。

    指定用于存储和检索属性值的配置文件提供程序。provider属性的值是 providers 元素中指定的某个配置文件提供程序的名称。如果未指定提供程序名称,则使用 profile 元素中指定的默认提供程序。有关配置文件提供程序的更多信息,请参见 ASP.NET 配置文件提供程序

    serializeAs

    可选的 SettingsSerializeAs 属性。

    指定数据存储区中属性值的序列化格式。默认序列化格式视具体的提供程序而定。实际所使用的序列化由提供程序确定;对于 SQL 提供程序,则为 String序列化。

    allowAnonymous

    可选的 Boolean属性。

    指定在应用程序用户是匿名用户的情况下是否可以获取或设置属性。

    如果设置为 true,则在应用程序用户是匿名用户的情况下可以获取或设置属性。

    默认值为 false

    defaultValue

    可选的 String属性。

    如果数据存储区中没有 Profile属性的值,则按如下所示指定默认值:

    · 如果使用 XML 序列化对属性 (Property) 类型进行了序列化处理,则此属性 (Attribute) 可以设置为表示属性 (Property) 类型的序列化实例的 XML 字符串。

    · 如果使用二进制序列化对属性 (Property) 类型进行了序列化处理,则此属性 (Attribute) 可以设置为表示属性 (Property) 类型的序列化实例的 Base-64 编码字符串。

    ·如果属性为引用类型,则可以使用 Stringnull值指示 Profile属性应为未初始化的配置文件返回 null

    readOnly

    可选的 Boolean属性。

    指定是否只能读取而不能设置属性。

    如果设置为 true,则可以读取但不可以设置属性。

    默认值为 false

    customProviderData

    可选的 String属性。

    指定 customProviderData属性 (Attribute) 可以设置为任意字符串值,以供属性 (Property) 的配置文件提供程序使用。如果设置了此属性 (Attribute),则该值放置在属性 (Property) 的 Attributes 集合中,通过名称 "CustomProviderData"进行索引。

    子元素

    无。

    父元素 

    元素

    说明

    configuration

    指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中的根元素。

    system.web

    为 ASP.NET 配置节指定根元素。

    profile

    为应用程序配置用户配置文件。

    properties

    定义用户配置文件属性和属性组的集合。

     

        profile 的 properties 的 clear 元素:
        这个没啥好说的,<clear />从用户配置文件中清除以前定义的所有属性和组。

        profile 的 properties 的 remove 元素:
        <remove name="property name" />:从用户配置文件属性组移除属性。

    属性

    说明

    name

    必选的 String属性。

    指定要从集合中移除的属性定义的名称。


        profile 的 properties 的 group 元素:
    <group name="group name">
        
    <add />
        
    <remove./>
    </group>

    属性 

    属性

    说明

    name

    必选的 String属性。

    属性组的名称。此值用作自动生成的组配置文件类的标识符。该组的名称不能包含句点 (.)。

    有关自动生成用户配置文件属性的更多信息,请参见 ASP.NET 配置文件属性概述

    子元素 

    元素

    说明

    add

    可选的元素。

    向用户配置文件属性组添加属性。

    remove

    可选的元素。

    从用户配置文件属性组移除属性。


        profile 的 group 的 add 元素:

    <add 
        
    name="property name" 
        type
    ="fully qualified type reference"
        provider
    ="provider name"
        serializeAs
    ="String|Xml|Binary|ProviderSpecific"
        allowAnonymous
    ="true|false"
        defaultValue
    ="default property value"
        readOnly
    ="true|false"
        customProviderData
    ="data for a custom profile provider"
    />

    属性

     属性

    说明

    name

    必选的 String属性。

    指定属性名。该值用作自动生成的配置文件类的属性的名称,并用作该属性在 Properties 集合中的索引值。该属性的名称不能包含句点 (.)。

    有关自动生成用户配置文件属性的更多信息,请参见 ASP.NET 配置文件属性概述

    type

    可选的 String属性。

    指定属性类型。

    默认值为 String

    provider

    可选的 String属性。

    指定用于存储和检索属性值的配置文件提供程序。此属性的值是 providers 元素中指定的某个配置文件提供程序的名称。如果未指定提供程序名称,则使用 profile 元素中指定的默认提供程序。有关配置文件提供程序的更多信息,请参见 ASP.NET 配置文件提供程序

    serializeAs

    可选的 SettingsSerializeAs 属性。

    指定数据存储区中属性值的序列化格式。默认序列化格式视具体的提供程序而定。实际所使用的序列化由提供程序确定;对于 SQL 提供程序,则为 String序列化。

    allowAnonymous

    可选的 Boolean属性。

    指定在应用程序用户是匿名用户的情况下是否可以获取或设置属性。

    如果设置为 true,则在应用程序用户是匿名用户的情况下可以获取或设置属性。

    默认值为 false

    defaultValue

    可选的 String属性。

    指定当数据存储区中的 Profile属性没有值时所使用的默认值。

    如果使用 XML 序列化对属性 (Property) 类型进行了序列化处理,则此属性 (Attribute) 可以设置为表示属性 (Property) 类型的序列化实例的 XML 字符串。

    如果使用二进制序列化对属性 (Property) 类型进行了序列化处理,则此属性 (Attribute) 可以设置为表示属性 (Property) 类型的序列化实例的 Base-64 编码字符串。

    如果属性为引用类型,则可以使用 stringnull指示 Profile属性应为未初始化的配置文件返回 null

    readOnly

    可选的 Boolean属性。

    指定是否只能读取而不能设置属性。

    如果设置为 true,则可以读取但不可以设置属性。

    默认值为 false

    customProviderData

    可选的 String属性。

    指定供属性的配置文件提供程序使用的字符串值。此属性可以设置为任何字符串值。

    如果设置了 customProviderData属性 (Attribute),则该值放置在属性 (Property) 的 Attributes 集合中,通过名称 "CustomProviderData"进行索引。


         profile 的 group 的 remove 元素:
        <remove name="property name" />

    属性

    说明

    name

    必选的 String属性。

    指定要从集合中移除的属性定义的名称。


        profile 的 providers 元素:

    <providers>
        
    <add />
        
    <remove/>
        
    <clear/>
    </providers>

    子元素

     元素

    说明

    add

    可选的元素。

    向配置文件提供程序的集合添加提供程序。

    clear

    可选的元素。

    从配置文件提供程序的集合中移除提供程序。

    remove

    可选的元素。

    从集合中清除以前定义的所有配置文件提供程序。


        profile 的 providers 的 add 元素:
    <add 
        
    name="provider name" 
        type
    ="fully qualified type reference"
        connectionStringName
    ="connection string identifier"
        commandTimeout
    ="number of seconds before a command times out"
        description
    ="description of the provider instance"
        applicationName
    ="application name for stored profile information"
    />

    属性 

    属性

    说明

    name

    必需的 String属性。

    指定提供程序实例的名称。这是用于 <profile> 元素的 defaultProvider属性的值,该值将提供程序实例标识为默认的配置文件提供程序。该提供程序的 name还用于在 Providers 集合中对该提供程序进行索引。

    type

    必需的 String属性。

    指定实现 ProfileProvider 抽象基类的类型。

    connectionStringName

    必需的 String属性。

    指定在 <connectionStrings> 元素中定义的连接字符串的名称。指定的连接字符串将由正在添加的提供程序使用。

    applicationName

    可选的 String属性。

    指定数据源中存储配置文件数据的应用程序的名称。该应用程序名称使得多个 ASP.NET 应用程序能够使用同一个数据库,而不会遇到不同应用程序存在重复配置文件数据的情况。或者,通过指定相同的应用程序名称,多个 ASP.NET 应用程序可以使用相同的配置文件信息。

    如果未指定此属性 (Attribute),则 .NET Framework 附带的配置文件提供程序使用 ApplicationName 属性 (Property) 的 ApplicationVirtualPath 值。

    commandTimeout

    可选的 Int32属性。

    指定在向成员资格数据源发出的命令超时之前等待的时间(以秒为单位)。SQL 提供程序在创建 SqlCommand对象时,使用该超时属性。默认情况下,ASP.NET 配置中并未设置该属性。因此,使用 ADO.NET 默认值 30 秒。如果设置了该属性,则 SQL 提供程序对向数据库发出的所有 SQL 命令使用已配置的超时值。

    默认值为 30(ADO.NET 默认值)。

    description

    可选的 String属性。

    指定配置文件提供程序实例的说明。


        profile 的 providers 的 remove 元素:
        <remove name=" provider name" />:从用户配置文件提供程序集合中移除配置文件提供程序实例。

    属性

    说明

    name

    必选的 String属性。

    要从集合中移除的配置文件提供程序对象的名称。


         profile 的 providers 的 clear 元素:
        <clear/>:从用户配置文件提供程序集合中移除所有配置文件提供程序实例。

  • 相关阅读:
    14.7.1 重新调整InnoDB系统表空间的大小
    css代码引入方式与基本选择器
    html常用标签
    python数据库操作
    pt-osc使用一则
    mysql优化一则(20170703)
    进程与生产者消费者模型
    面向对象程序设计
    常用模块
    模块与包
  • 原文地址:https://www.cnblogs.com/scgw/p/1156677.html
Copyright © 2011-2022 走看看