记得还是去年七月份。在微软的一次培训中,一位姓杨的讲师提到了这个DEMO。我后来回到公司就从相关站点http://www.dinnernow.net 下载了一个安装包和相关视频,粗略的看了一下。之后因为产品开发比较繁重就一直没再仔细研究。直到最近才想起来:)

  因为本人机器上系统是window2003+sp2, 开发环境是VS2008 Team, 数据库是SqlServer 2005,不是官方文档所要求的VISTA+IIS7+SQL2005。

     但我并不死心,所以才有了今天的文章。在正文开始之前,有必要介绍一下DinnerNow到底是个什么东东:)

     作为微软最新技术应用的DEMO。dinnernow使用了: IIS7, ASP.NET Ajax Extensions, LINQ, WCF, WF, WPF,Windows PowerShell, Card Space以及 .NET Compact Framework.

     相信园子中有不少朋友可能面临跟我一样的问题,就是对于新技术(热点)通过学习掌握了之后如何应用到具体的产品或项目中。而这个DEMO总体上还是可圈可点的。另外就是本人比较爱吃美食,而这个项目在教人学习架构的过程中,还能让人欣赏美食并可订餐,实在是一举两得:)

     好的,开始正文吧:)

     下载安装包:http://www.codeplex.com/dinnernow/release/projectreleases.aspx
相关的介绍和演示视频链接如下: http://www.dinnernow.net/DinnerNow%20Web.wmv

     通过本地安装之后,(默认)会在"c:\dinnernow\"下生成安装脚本,数据库备份,源码等文件。

  1.首先要在本地上新建立一个数据库(默认为DinnerNow),然后将安装目录下的\database\DinnerNow.bak  备份文件还原进来。(如果没有安装membership, 可以vs2008命令行下键入aspnet_regsql进行安装)

     2.运行安装目录\scripts\install\sql\下的cardspace_tables.sql,cardspace_stored_procedures.sql
     
   
3.依次运行下载压缩包中的(当然可直接使用安装目录\scripts\others\database下的DinnerNowWF.bak的
      文件进行还原):
            SqlPersistenceService_Schema.sql
            SqlPersistenceService_Logic.sql
            Tracking_Schema.sql
            Tracking_Logic.sql


     4.安装msmq。

     5.配置下列文件中相应的(connectionString)数据库链接串(具体文件如下):
       安装目录\solution\DinnerNow - Web\DinnerNow.WebUX\web.config
       安装目录\solution\DinnerNow - ServicePortfolio2\source\DinnerNow.Data\app.config
       安装目录\solution\DinnerNow - ServicePortfolio2\source\DinnerNow.Data\DinnerNow.dbml
       安装目录\solution\DinnerNow - ServicePortfolio2\source\DinnerNow.ServiceHost\web.config
    
     6.配置IIS: 
       将安装目录\solution\DinnerNow - Web\DinnerNow.WebUX文件夹以虚拟目录方式(名称为DinnerNow)到当前站点(如localhost).
       将安装目录\solution\DinnerNow - ServicePortfolio2\source\DinnerNow.ServiceHost文件夹以虚拟
目录方式(名称为Service)配置到上面的DinnerNow(虚拟目录)下。配置完成后的截图如下:

      

     而这样配置的原因主要是在web.config中的设置项很多都是这个指向的,所以可以在按照如下方式配置完站点后,程序应该就能直接运行起来了:)

      相应的操作截图如下:

      运行首页

      
      按上面中的设置进行搜索结果如下:

      

      选取相应食物: 

      

      填写收货地址及相关信息:

      填写相应的支付信息:

      
      修改订餐数量和支付页面:


      当完成了支持流程之后,我们可以进行订单管理和跟踪:
      通过编译运行安装目录\solution\DinnerNow - Kiosk的SLN文件,运行效果如图:

   
     

        点击某一订单显示订单明细:

   点击TrackOrder跟踪某一订单送餐情况:
 
因为是用WPF制作的介面,总体感觉很清爽,功能也很好很强大。
   

   主要的功能说的差不多了,当然还有一些功能因为机器或个人问题无法演示,如用Window Mobile显示订餐相关信息操作,POWERSHELL管理等。

   相应的该DEMO的架构图及PPT请点击这里

        注:因为该DEMO中有些页面使用了HTTPS,因为本人只有研究使用,所以已将相应页(Registration.aspx,SignIn.aspx)中的HTTPS跳转链接代码去掉.

      当然今天说的仅限于配置和使用,因为如果不能启动运行的代码,本身就不会让大家产生什么兴趣,如果有什么问题,可以在回复中进行交流.

      另外就是如果以后有时间,可能会写一些关于这个DEMO的设计架构上的文章以及思考:)