記得還是去年七月份。在微軟的一次培訓中,一位姓楊的講師提到了這個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的設計架構上的文章以及思考:)最後以這首she's gone來表達一下我對災區同胞的悲痛之情,希望他們能夠堅強面對眼前的巨大困難,早日重建家園:()
本文配套源碼