独上高楼网站
  •    你所在位置:首页 VS.netASP.net开发〉ASP.NET 2.0下实现匿名用户向注册用户的迁移(上)
  • ASP.NET 2.0下实现匿名用户向注册用户的迁移(上)
  • 作者:巡山小牛  文章来源:www.cnblogs.com  发布日期:2008-11-01  浏览次数:63
  • 打印这篇文章
  • 演示环境:Win2003 + Visual Studio 2005 + Sql Server2005,前期需要将MS在Sql2000下的例程数据库Northwind加入Sql Server 2005;注意:操作系统不一定非要Win2003,凡是支持.net FrameWork 2.0的都可
     
    新建一个例程网站,该网站目前结构如下图:
              
    这是一个还未使用任何用户管理技术的网站,那么我们下面就从头开始讨论这些技术.
    前期页面准备工作如下:
    Default.aspx前后台代码如下:
    Code

     

    Default.aspx.cs

     

     

    Login页面的前后代码如下:

     

    Login.aspx

    Login页面没有后台代码,该页面需要用到一个成员用户管理类别的控件:Login1,请注意

    以上就是页面上主要两个页面的设计情况,再就是些样式设计StyleSheet.css和Web.config如下:

     

    StyleSheet.css

     

     

    Web.Config

    注意:以上数据库连接字符串需要自己配置,这里配置是Windows登录,而且Data Source根据每台机器自己配置。

    以上由Web.Config可以看出,此时页面验证方式是Forms。

    此时运行Default.aspx页面是可以出现下图左边购物车的数据,该数据来自Northwind数据库,因为界面上通过SqlDataSource控件进行数据沟通的,如下两个图

     

     

    此时在登录界面(Login.aspx)进行登录是无法实现的,因为此时未引入Profile概念,那么此概念将在下面介绍。

     

    ASP.NET 2.0在处理用户配置信息方面基本抛弃了ASP.NET 1.X的做法,其提供的个性化用户配置功能可以实现将用户配置信息与单个用户关联,并采取持久化方式存储信息。理解这个概念需要注意以下四点:一是配置信息可以是与任何用户有关的信息。二是所存储的信息可以是可以是任何数据类型的对象,比如甚至可以是复杂的自定义数据类型。三是单个用户可以是注册用户,也可以是匿名用户。四是默认情况下,持久存储采用SQL Server数据库方式,并且无需自行创建或维护数据库,这些工作都有ASP.NET 2.0自动完成。

    使用个性化用户配置功能主要包括如下两个核心的步骤:首先,配置应用程序以便启用和定义要为用户存储和跟踪的配置信息。这些工作在Web.config文件的〈Profile>中轻松完成。然后,使用与用户配置功能有关的强类型API实现对用户配置信息的存储、访问和管理等。

     

    那么,下面先来配置Web.config文件,加入如下代码: 

    加入Profile配置节的Web.config

     

    注意:上述红色部分代码(10~15行)是新加入的配置节

    10行:标注是否需要对匿名用户进行身份记录

    Profile节包括〈properties>和〈providers>两大子配置节,我们先看〈properties>,13行此处是我们准备存储的ShoppingCart类,这个类用来记录购物车信息,type="ShoppingCart" 就是指向待会建立的类名叫ShoppingCart,后面二个属性表明这个类是可序列化为二进制,并且运行匿名用户访问的。

     

    下面在App_Code目录下建立ShoppingCart类,代码如下:

     

     

    ShoppingCart.cs