如何实现ASP.NET网站个性化?

如今,个性化是大多数Web应用程序的一个关键部分。TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征。应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,但2.0版本简化了个性化过程。

个性文件

ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息。你定义与每名用户有关的属性,并将它存储在他们的个性文件中。个性文件数据可以用程序方便地访问。与其它保存文件一样,它必须被存储,且个性文件默认使用SQL Server。 

Profile系统以提供程序模型为基础,特殊的Profile提供程序负责将属性值序列化和解序列化到某个数据仓库中。.NET Framework默认使用一个SqlProfileProvider类,它使用一个SQL Server数据库表来存储数据。 

系统配置

在使用ASP.NET 2.0的个性文件特性之前,必须对Web服务器进行正确配置,使其支持这一特性。默认情况下,个性文件特性使用一个SQL Server终端,但你也可以建立自己的提供程序。在本文中,我主要讨论标准的SQL Server终端,它使用默认的SqlProfileProvider类。 

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

.NET Framework 2.0中包含正确配置ASP.NET环境的工具。如果你使用了SQL Server 2005精简版和Visual Studio,就不必进行配置。如果没有应用上述程序,第一步是注册一个SQL Server连接。使用随.NET Framework安装的命令行工具Aspnet_regsql.exe即可完成此项操作。在我的机器上,此工具的路径为:

C:\Windows\Microsoft.NET\v2.0.50727\aspnet_regsql.exe 

这个工具中包含大量的选项,你可以通过命令行选项(-?)详细阅读。在我的开发系统中,我使用现有的SQL Server 2000。下面的命令通过在指定服务器上建立必要的数据库来进行环境配置。 

Aspnet_regsql.exe –A p –E –S database_server_name 

命令行开关E告诉系统用当前用户证书进行验证。开关S允许你指定数据库服务器名称。开关A说明增加哪个选项,后面的p指明增加个性文件支持。执行此命令即可建立一个SQL Server数据库。数据库的默认名称为aspnetdb,但你也可以用命令行开关d撤销它,开关d允许你指定一个现有的数据库。

现在已建立一个SQL Server环境,接下来应对ASP.NET 2.0进行配置,使其利用连接和个性文件。进入IIS管理界面,查看ISS网站(Web Sites)属性并选择ASP.NET标签,即可激活ASP.NET环境属性。选择ASP.NET标签上的编辑配置(Edit Configuration)按钮。验证(Authentication)标签包含一个角色(Roles)区,其中的角色管理(Role Management)被激活(应查看这一点)。默认的SQL Server(LocalSqlServer)连接字符串在通用(General)标签中指定。我的开发环境使用下面的连接字符串: 

data source= database_server_name;Integrated Security=SSPI; 

Initial Catalog=aspnetdb;User Instance=false 

将这些改变保存在ASP.NET环境中,把它连接到前面配置的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类。代码中包含在代码分离文件后的ASP.NET文件。 

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

个性化更加简化 

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

时间: 2024-12-22 15:45:20

如何实现ASP.NET网站个性化?的相关文章

教程:如何实现ASP.NET网站个性化

asp.net|教程 如今,个性化是大多数Web应用程序的一个关键部分.TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征.应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,但2.0版本简化了个性化过程. 个性文件 ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息.你定义与每名用户有关的属性,并将它存储在他们的个性文件中.个性文件数据可以用程序方便地访问.与其它保存文件一样,它必须被存储,且个性文件默认使

如何实现ASP.NET网站个性化

asp.net 如今,个性化是大多数Web应用程序的一个关键部分.TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征.应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,但2.0版本简化了个性化过程. 个性文件 ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息.你定义与每名用户有关的属性,并将它存储在他们的个性文件中.个性文件数据可以用程序方便地访问.与其它保存文件一样,它必须被存储,且个性文件默认使用SQ

.NET技巧 如何实现ASP.NET网站个性化?

asp.net|技巧 如今,个性化是大多数Web应用程序的一个关键部分.TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征.应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,但2.0版本简化了个性化过程. 个性文件 ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息.你定义与每名用户有关的属性,并将它存储在他们的个性文件中.个性文件数据可以用程序方便地访问.与其它保存文件一样,它必须被存储,且个性文件默认使

一起谈.NET技术,如何实现ASP.NET网站个性化?

个性化是大多数Web应用程序的一个关键部分.TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征.应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,而ASP.NET2.0版本简化了个性化过程. 个性文件 ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息.定义与每名用户有关的属性,并将它存储在他们的个性文件中.个性文件数据可以用程序方便地访问.与其它保存文件一样,它必须被存储,且个性文件默认使用SQL Ser

asp.net中英切换-ASP.NET网站实现中英切换

问题描述 ASP.NET网站实现中英切换 请问用ASP.NET做的网站怎么实现中英切换的功能?求大神指点,多谢! 解决方案 http://www.cnblogs.com/wenjl520/archive/2010/10/17/1853367.htmlhttp://www.codeproject.com/Articles/38907/ASP-NET-Localization-Quick-Reference 解决方案二: 如何实现ASP.NET网站个性化在ASP.NET网站中实现带列表的视频播放在A

asp.net中英切换-ASP.NET网站可以实现中英切换

问题描述 ASP.NET网站可以实现中英切换 请问数据库字段该怎么设计,页面如何实现中英切换,急求大神指点,多谢多谢! 解决方案 i18N 听过吗? 不是相切就切的 你的把对应的字段设置好 反正java采用的是I18N 解决方案二: 如何实现ASP.NET网站个性化ASP.Net网站多语言的实现ASP.NET使用IHttpModule实现网站静态缓存

14天的努力!终于研究出一个相样的ASP.NET网站,分享个图片给大家长长眼!!!

问题描述 14天的努力!终于研究出一个相样的ASP.NET网站,分享个图片给大家长长眼!!!14天的努力!终于研究出一个相样的ASP.NET网站,分享个图片给大家长长眼!!!14天的努力!终于研究出一个相样的ASP.NET网站,分享个图片给大家长长眼!!!注明一下:后台数据库为ACCESS版本的 解决方案 本帖最后由 sgzhou12345 于 2016-05-25 13:13:34 编辑解决方案二:牛逼解决方案三: 解决方案四:骚年,恭喜入门解决方案五:按钮点了有用吗解决方案六:不错加油!解决

工具-怎么在vs2013中进行asp.net网站配置

问题描述 怎么在vs2013中进行asp.net网站配置 这个工具好像在以前的版本上有的,在vs2013中没找到,改怎么办呢?在百度上搜过,没看懂,求高人指点 解决方案 对了电脑操作系统是win8 解决方案二: 你要配置什么呢??? 解决方案三: 解决方案四: VS2013取消了从GUI上访问Web配置工具的功能,必须使用控制台启用 参考 http://blogs.msdn.com/b/webdev/archive/2013/08/19/asp-net-web-configuration-too

asp.net 网站运行很慢 很慢 为什么会这样 应该设置什么? 怎么设置呢?

问题描述 asp.net 网站运行很慢 很慢 为什么会这样 应该设置什么? 怎么设置呢? asp.net 网站运行很慢很慢 是什么原因? 应该设置什么? 怎么设置呢? 解决方案 这个原因多了去了,比如感染了360等流氓软件,甚至是cpu散热不好.重装系统看看,再不行就是硬件问题. 解决方案二: 是啊,这个原因多了去了,再问一下,你网站快过没有?所有人浏览你网站都慢吗?电信.移动都很慢吗?不是的话,那问题不在服务器.你服务器放在哪儿呢?国外?是的话,那正常.如果在国内,你可以访问一下同IP段其他网