.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事件,用于匿名用户到注册用户的信息转移,也就是在未登录时的信息,在注册用户登录后不会丢失。
分享到:
相关推荐
petshop4.0源代码 查看 petshop4.0源代码 查看 petshop4.0源代码 查看 petshop4.0源代码 查看 petshop4.0源代码 查看 petshop4.0源代码 查看
PetShop4.0架构设计PetShop4.0架构设计PetShop4.0架构设计
PetShop 4.0的安装文件 学习ASP.NET架构的一个绝佳例子
然而PetShop随着 版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却 也凸现了许多颇有价值的设计与...
petshop4.0以及petshop4.0详解。。。。。。。。。。
PetShop 4.0 (宠物商店C#版),包含Microsoft .NET Pet Shop 4.0.msi 以及PetShop 4.0详解.pdf 详细说明
Petshop4.0详解 pdf。
此资源包括PetShop4.0项目(Source Code+Databases)的安装以及PetShop4.0项目的详细说明文档。 注意1:请确保你已经安装了VS2005和(SQL Server2000或SQL Server2005或Oracle 10g)。 注意2:请按照安装提示一步步...
然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与...
petshop4.0详细教程,肯叮对你们有用的!!!
PetShop4.0源代码+详解 .NET Pet Shop4 应用程序的设计说明了构建企业 n 层 .NET 2.0 应用程序的最佳做法,这种应用程序可能需要支持各种数据库平台和部署方案。 .NET Pet Shop 4 项目的目标是: 工作效率:减少了...
petshop4.0代码|数据库|PDF教程,标准的分层架构,运用了许多新技术。 值得一学
petshop 4.0源码及详细讲解,需要安装vs2005运行环境
PetShop 4.0 官方详解
PetShop4.0详解(系统架构设计).doc
petshop4.0详解 petshop4.0详解petshop4.0详解 petshop4.0详解petshop4.0详解petshop4.0详解
petshop4.0 详解完整版(一至八) .NET 2.0 真正的经典!
然而PetShop随着版本的不断更新,至现在基 于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却 也凸现了许多颇有价值的设计与...
petshop 4.0 5.0 微软原版设计模式值得学习,设计模式完全解释。
petshop 4.0 详解