山塞一个PetShop ——源代码下载、安装、配置及体验

源代码:13033480群共享

PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,而且有很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。

一、源代码下载

高速下载地址:http://download.csdn.net/detail/yousuosi/3732384

原始地址:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp

 二、源代码安装

傻瓜式安装,安装时注意这么两点就行了:

1、选择完全安装,这样,安装时会把数据库直接安装上。

2、运行前,要“重新生成解决方案”。

三、配置及体验

1、注册与登录

数据库里已经有12个注册用户,分别是:

demo, AdamBarr, KimAbercrombie, RobYoung, TomYoutsey, GaryWYukish, RobCaron, KarinZimprich, RandallBoseman, KevinKennedy, DianeTibbott, or GarrettYoung. 密码都是:pass@word1.

结帐离开时(Check Out),会要求登录,你也可以自己注册一个用户名,注册时注意密码要足够复杂,类似pass@word1,或者干脆就用个邮箱当密码吧。

使用自己注册的用户名结帐时,输入信息比较烦,格式有要求,不如直接使用系统提供的12个用户名,结帐信息就可以不用再输入了。

2、启动MSDTC服务

提交定单时(Submit Order),服务器 'J7-T2\SQLEXPRESS' 上的 MSDTC 不可用。

只要在windows控制面版-->管理工具-->服务-->Distributed   Transaction   Coordinator-->属性-->启动即可。

这时,查看数据库MSPetShop4Orders中的表Orders,可看到,有一条定单(Order)记录。

3、异步定单模式

以上是PetShop4.0默认的同步定单模式(OrderSynchronous),如果要工作在异步定单模式(OrderAsynchronous),还需进行如下设置:

(1)、添加一人私有队列“PSOrders”,这个私有队伍是“事务性”的。

(2)、修改web.config中的"OrderStrategyClass"字段为异步模式OrderAsynchronous
<add key="OrderStrategyClass" value="PetShop.BLL.OrderAsynchronous"/>

(3)、把Web.config文件中"OrderQueuePath"的值中,MachineName换成你的机器名:

<add key="OrderQueuePath" value="FormatName:DIRECT=OS:MachineName\Private$\PSOrders"/>

(4)、把OrderProcessor 项目app.config中的"OrderQueuePath"值中,MachineName换成你的机器名:

<add key="OrderQueuePath" value="FormatName:DIRECT=OS:MachineName\Private$\PSOrders"/>

异步模式,定单没写入消息队列,没有出错提示,这一点有点讨厌…

貌似PetShop要重新启动…,

 (5)、使用SQLEXPRESS的,需要修改app.config中的连接字符串:

server=(local)\SQLEXPRESS

(6)为数据库添加登录名mspetshop,密码为pass@word1,并设置服务器角色为sysadmin。当然你也可以修改app.config中的连接字符串中的用户名和密码。

运行调试异步消息处理功能时,提交定单后,定单信息在消息队列里,运行OrderProcessor(也可以先运行),会定时查看这个消息队列,

一旦有定单,马上取出,并把定单写到Orders表中。

原文地址:https://www.cnblogs.com/java20130723/p/3211679.html