文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发.Net 专栏 → .Net PetShop 4.0的配置文件属性管理

.Net PetShop 4.0的配置文件属性管理

时间:2010/2/14 18:49:00来源:本站整理作者:我要评论(0)

.Net PetShop 4.0的配置文件属性管理:

  .NET 2.0中,提供了ASP.NET成员资格管理、ASP.NET角色管理以及ASP.NET配置文件属性等功能。在本文中,重点探讨.Net PetShop 4.0配置文件属性管理的设计与实现。

  配置文件属性用于给用户提供个性化的服务。在.Net PetShop 4.0中,与配置文件属性直接相同的命名空间如下:

PetShop.IProfileDAL
PetShop.OracleProfileDAL
PetShop.SQLProfileDAL
PetShop.ProfileDALFactory
PetShop.Profile

  从它们的命名空间就可以看出,配置文件属性管理也使用了工厂模式。下面具体看一下各个命名空间的内容:

  一、PetShop.IProfileDAL命名空间

  PetShop.IProfileDAL命名空间提供了一个接口IPetShopProfileProvider,该接口定义了十个方法,分别为:

GetAccountInfo
SetAccountInfo
GetCartItems
SetCartItems
UpdateActivityDates
GetUniqueID
CreateProfileForUser
GetInactiveProfiles
DeleteProfile
GetProfileInfo

  这些方法有些是对购物车的处理,有些是对账户附属信息的处理,有些是对配置文件的处理。

  二、PetShop.OracleProfileDAL和PetShop.SQLProfileDAL命名空间

  这两个命名空间各自包含了一个PetShopProfileProvider类,该类是对接口IPetShopProfileProvider的实现。当然,由命名空间的名字也可以看出,PetShop.OracleProfileDAL是连接Oracle数据库的,PetShop.SQLProfileDAL是连接SQL Server数据库的。

  三、PetShop.ProfileDALFactory命名空间

  PetShop.ProfileDALFactory提供了一个自封装的类DataAccess,该类只有一个方法CreatePetShopProfileProvider,根据web.config中的ProfileDAL设置,产生出符合IPetShopProfileProvider接口的PetShopProfileProvider类实例。当然,这正是典型的工厂模式。

  四、PetShop.Profile命名空间

  PetShop.Profile命名空间中提供了一人自封装的类PetShopProfileProvider,该类继承了.Net框架ProfileProvider类,重写了Initialize、SettingsPropertyValueCollection、SetPropertyValues、DeleteProfiles、DeleteProfiles、DeleteInactiveProfiles、FindProfilesByUserName、FindInactiveProfilesByUserName、GetAllProfiles、GetAllInactiveProfiles和GetNumberOfInactiveProfiles方法,创建了一些静态方法。创建的静态方法通过PetShop.ProfileDALFactory.DataAccess类实现对PetShopProfileProvider中方法的调用。

  五、使用配置文件属性

  在使用配置文件属性时,首先要在web.config文件中添加配置文件属性的配置段。.Net PetShop 4.0的web.config文件中与配置文件属性相关的配置如下:

<profileautomaticSaveEnabled="false"defaultProvider="ShoppingCartProvider">
 <providers>
  <addname="ShoppingCartProvider"connectionStringName="SQLProfileConnString"type="PetShop.Profile.PetShopProfileProvider"applicationName=".NETPetShop4.0"/>
  <addname="WishListProvider"connectionStringName="SQLProfileConnString"type="PetShop.Profile.PetShopProfileProvider"applicationName=".NETPetShop4.0"/>
  <addname="AccountInfoProvider"connectionStringName="SQLProfileConnString"type="PetShop.Profile.PetShopProfileProvider"applicationName=".NETPetShop4.0"/>
 </providers>
 <properties>
  <addname="ShoppingCart"type="PetShop.BLL.Cart"allowAnonymous="true"provider="ShoppingCartProvider"/>
  <addname="WishList"type="PetShop.BLL.Cart"allowAnonymous="true"provider="WishListProvider"/>
  <addname="AccountInfo"type="PetShop.Model.AddressInfo"allowAnonymous="false"provider="AccountInfoProvider"/>
 </properties>
</profile>

  配置完后,就可以在ASP.NET Web页面中通过如下方式使用:

Profile.AccountInfo=AddressForm.Address;
Profile.Save();

  在上面添加的配置文件属性中ShoppingCart和WishList分别表示购物车和缺货登记,它们的类型都是业务逻辑层的Cart类,AccountInfo表示账户信息,但由于用户名密码的管理是由.Net成员资格管理中实现的,其它的属性都是地址类信息,它在类型是PetShop.Model.AddressInfo。

  另外,在Global.asax中的Profile_MigrateAnonymous事件,用于匿名用户到注册用户的信息转移,也就是在未登录时的信息,在注册用户登录后不会丢失。

相关视频

    没有数据

相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 什么是.NET中的TDD?ASP.NET AJAX入门简介 WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用

人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题