| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:如何实现ASP.NET网站个性化?
只看楼主 加入收藏
重庆萤火虫
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-3-6
收藏
 问题点数:0 回复次数:2 
如何实现ASP.NET网站个性化?
个性化是大多数Web应用程序的一个关键部分。TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征。应用

1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,而版本简化了个性化过程。
  个性文件

   2.0 Profile系统允许你轻松存储用户的相关信息。定义与每名用户有关的属性,并将它存储在他们的个性文件中。个性文

件数据可以用程序方便地访问。与其它保存文件一样,它必须被存储,且个性文件默认使用SQL Server。

  Profile系统以提供程序模型为基础,特殊的Profile提供程序负责将属性值序列化和解序列化到某个数据仓库中。.NET Framework

默认使用一个SqlProfileProvider类,它使用一个SQL Server数据库表来存储数据。

  系统配置

  在使用 2.0的个性文件特性之前,必须对Web服务器进行正确配置,使其支持这一特性。默认情况下,个性文件特性使用一

个SQL Server终端,但也可以建立自己的提供程序。在本文中主要讨论标准的SQL Server终端,它使用默认的SqlProfileProvider类。

  SQL Server支持版本7.0、2000和2005。要配置一个支持SQL Server的系统,首先应配置数据库服务器,最后是平台。

  .NET Framework 2.0中包含正确配置环境的工具。如果你使用了SQL Server 2005精简版和Visual Studio,就不必进行配置

。如果没有应用上述程序,第一步是注册一个SQL Server连接。使用随.NET Framework安装的命令行工具Aspnet_regsql.exe即可完成此

项操作。在我的机器上,此工具的路径为:

以下是引用片段:
  C:


  这个工具中包含大量的选项,可以通过命令行选项(-?)详细阅读。在开发系统中,使用现有的SQL Server 2000。下面的命令通过在

指定服务器上建立必要的数据库来进行环境配置。

以下是引用片段:
  Aspnet_regsql.exe –A p –E –S database_server_name


  命令行开关E告诉系统用当前用户证书进行验证。开关S允许指定数据库服务器名称。开关A说明增加哪个选项,后面的p指明增加个

性文件支持。执行此命令即可建立一个SQL Server数据库。数据库的默认名称为aspnetdb,但也可以用命令行开关d撤销它,开关d允许

指定一个现有的数据库。

  现在已建立一个SQL Server环境,接下来应对 2.0进行配置,使其利用连接和个性文件。进入IIS管理界面,查看ISS网站

(Web Sites)属性并选择标签,即可激活环境属性。选择标签上的编辑配置(Edit Configuration)按钮。验证

(Authentication)标签包含一个角色(Roles)区,其中的角色管理(Role Management)被激活(应查看这一点)。默认的SQL Server

(LocalSqlServer)连接字符串在通用(General)标签中指定。开发环境使用下面的连接字符串:

以下是引用片段:
  data source= database_server_name;Integrated Security=SSPI;
  Initial Catalog=aspnetdb;User Instance=false


  将这些改变保存在环境中,把它连接到前面配置的SQL Server实例中。配置好平台后,就可以开始执行。

  定义元素

  个性文件中使用的数据元素在web.config文件中建立与保存(即被保存的数据值在那个文件中定义)。实际值(对不同用户而言)保存

在一个终端数据仓库中。可以指定每个属性的名称、数据类型和数据序列化的方式。

  属性的数据类型与.NET中的有效标准数据类型相同。序列化选项一般依赖于被存储的数据类型,但共有四个序列化选项:

  ProviderSpecific:默认Profile提供程序决定如何序列化属性值。

  字符串:属性值转换成一个字符串。

  Xml:属性值转换成XML形式。

  二进制:属性值转换成二进制形式。

  在属性元素中定义的个性文件元素包含在一个个性文件元素中,它位于web.config文件的system.web部分。列表A中的web.config包

括一个应用前面个性文件支持的个性文件片断。它将使用两个个性文件项目——FirstName和LastName——它们保存字符串值并允许匿名

用户。

  匿名用户和认证用户均可应用个性文件特性。前面的web.config文件使用个性文件元素的allowAnonymous属性,并激活应用程序匿

名支持(anonymousIdentification元素),从而指定匿名支持。

  使用代码

  正确配置环境后,就可以方便地在.NET代码中应用个性文件元素。列表B中的简单C#代码使用个性文件元素来存储并显示数据值,它

利用包含在System.Web命名空间中的Profile类。代码中包含在代码分离文件后的文件。

  列表C包含定制代码的代码分离(codebehind)。第一个按钮存储个性文件域中每个文本域的值。第二个按钮从个性文件域中恢复值,

并用这些值填充文本域。

  个性化更加简化

  个性化只是 2.0许多新特性中的一个。经过几个配置步骤,你就可以通过标准的web.config文件和Profile类编码,方便地

为应用程序增加个性化特性。
搜索更多相关主题的帖子: NET ASP 
2008-03-19 14:13
寂寞的刺猬
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-3-23
收藏
得分:0 
这个好象是msdn啊。。。。

我的博客  http://wlb.wlb.blog.
2008-03-23 18:10
论坛元老
Rank: 1
等 级:新手上路
帖 子:812
专家分:0
注 册:2008-3-31
收藏
得分:0 
这个好象是msdn啊。。。。
2008-04-02 18:07
快速回复:如何实现ASP.NET网站个性化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016058 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved