ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

ASP.NET 档案特征与 ASP.NET 成员资格、ASP.NET 角色管理,以及其他的 ASP.NET 特征一样,都使用相同的基于提供者的数据结构。ASP.NET 档案特征与一个层次化的系统一样在为档案特征而提供类型化属性值的功能中运行,并且管理与底层数据存储被分离的用户身份。档案特征还依赖于档案提供者(数据提供者)来完成存储任务以及获取档案属性值时所必需的后端任务。

默认的档案提供者

ASP.NET 包括了一个使用 Microsoft SQL Server 来存储数据的档案提供者。默认的 ASP.NET 机器配置中包含有一个名为 AspNetSqlProfileProvider 的默认 SqlProfileProvider 实例来连接到本地计算机中的 SQL Server。默认时,ASP.NET 档案特征会使用这个提供者的一个实例。作为选择,你还可以在你的应用程序的 Web.config 文件中指定一个不同的默认提供者。

要使用 SqlProfileProvider,你首先必需为 SqlProfileProvider 创建可供使用的 SQL Server 数据库。你可以通过运行 Aspnet_regsql.exe 命令来创建这个数据库,Aspnet_regsql.exe 命令能够在下列路径中被找到:

系统根目录\Microsoft.NET\Framework\版本号

在你运行这个工具的时候,你需要指定 -Ap 选项。下列命令说明了这个语法,你可以用来创建 SqlProfileProvider 在存储 ASP.NET 档案时所必需的数据库:

aspnet_regsql.exe -Ap

前面的这个范例并没有为被创建的数据库而指定任何名称,因此将会使用默认的数据库名称 Aspnetdb。

如果档案提供者与一个使用了已集成安全性的连接字符串一起被配置,那么 ASP.NET 应用程序的进程帐号就必须拥有能够连接到这个 SQL Server 数据库的相关权限。

注意:如果你使用的是一个以默认的配置而被安装的 SQL Server 2005 Express Edition 数据库并且这个数据库位于与 Web 服务器相同的计算机中,那么 ASP.NET 就会自动创建这个档案数据库。

自定义档案提供者

在有些情况下,你可能需要创建并且使用一个自定义的档案提供者。这经常是真实的,如果你已经拥有一个存储用户信息的数据库(比如某个雇员数据库),或者如果你需要使用不同于 Microsoft SQL Server 的另外一种数据库,又或者如果你需要使用不同的数据存储(比如 XML 文件),等等。关于更多信息,请参考:[实现档案提供者]。

被存储在用户档案中的所有属性都能够服务于不同的档案提供者。因此你可以从多个数据源中对数据进行管理,并且为单独的用户档案而存储信息。

posted on 2007-02-13 21:54  Laeb  阅读(206)  评论(0编辑  收藏  举报