参考文章:http://houmaolin0521.blog.163.com/blog/static/113351649201352584535848/
运行.net pet shop 4的异步消息处理时候,却总是出错。经检查,原来是这么几点需要修改和注意:
1:就如pet shop 4的readme所言,修改web.config文件的<add key="OrderStrategyClass" value="PetShop.BLL.OrderSynchronous"/>为<add key="OrderStrategyClass" value="PetShop.BLL.OrderAsynchronous"/>
3:修改orderprocessor文件夹下面的app.config文件,<add key="OrderQueuePath" value="FormatName:DIRECT=OS:MACHINENAME\\Private$\\PSOrders"/>改为<add key="OrderQueuePath" value="FormatName:DIRECT=OS:.\Private$\PSOrders"/>
4:在本机建立transactional queue,打开control panel->administrative tools->computer management->services and application->message queuing-> privary queues->在右边右键单击然后选择new->privary queue->填上PSOrders,并且一定不要忘记选中下面的transactional 的checkbox,因为.net pet shop 中的message使用了事务性message,待会做出说明。如果你看不到message queuing,那么可能你的消息服务没有开启,进入services.msc,然后开启消息服务,和DCOM服务。
现在你大概可以试验你的程序了,首先是登陆,提交,然后运行orderprocessor的控制台程序,然后你可以看到处理了item。