ASP.NET 配置文件功能与 ASP.NET 成员资格、ASP.NET 角色管理以及其他 ASP.NET 功能使用同一基于提供程序的结构。ASP.NET 配置文件功能是一个分层系统,其中配置文件功能的功能(提供类型化属性值并管理用户标识)与基础数据存储区分离。配置文件功能依赖于配置文件提供程序(数据提供程序)来执行存储和检索配置文件属性值所需的后端任务。
1、默认配置文件提供程序
ASP.NET 包含一个使用 Microsoft SQL Server 存储数据的配置文件提供程序。默认的 ASP.NET 计算机配置包含一个名为 AspNetSqlProfileProvider 的 SqlProfileProvider 默认实例,该实例连接至本地计算机上的 SQL Server。默认情况下,ASP.NET 配置文件功能使用提供程序的此实例。或者,可以在应用程序的 Web.config 文件中指定一个不同的默认提供程序。
若要使用 SqlProfileProvider,首先必须创建 SqlProfileProvider 使用的 SQL Server 数据库。可以通过运行以下路径中的 Aspnet_regsql.exe 命令来创建数据库:
systemroot/Microsoft .NET/SDK/版本
运行该工具时,可指定 -Ap 选项。下面的命令演示特定的语法,此语法用于创建使用 SqlProfileProvider 存储 ASP.NET 配置文件所需的数据库:
aspnet_regsql.exe -Ap
上面的示例没有为创建的数据库指定名称,因此将使用默认名称。默认的数据库名称为 Aspnetdb。
如果通过使用集成安全性的连接字符串对配置文件提供程序进行配置,则 ASP.NET 应用程序的进程帐户必须具有连接至 SQL Server 数据库的权限。
说明: 如果使用 SQL Server 2005 Express Edition 数据库,而安装该数据库时使用的是默认配置,且该数据库与 Web 服务器在同一台计算机上,则 ASP.NET 将自动创建配置文件数据库。
2、自定义配置文件提供程序
在有些情况下,可能希望创建和使用自定义配置文件提供程序。如果已经具有一个存储用户信息的数据库(如员工数据库),如果需要使用 Microsoft SQL Server 之外的数据库,或者需要使用不同的数据存储区(如 XML 文件),则经常需要这样做。
用户配置文件中存储的属性可完全由不同的配置文件提供程序提供服务。因此,可以对来自多个数据源的数据进行管理,以存储单个用户配置文件的信息。