部署
這兩天將Byteart Retail案例程序宿主到了Windows Azure虛擬主機上。基本步驟是:
- 在Windows Azure管理器中,新建一台虛擬主機,我選擇的配置是最高版本的Windows Server加上基本可以說是最爛的硬件配置:
Windows Server:Windows Server 2012 Datacenter Edition
硬件配置:Small(1 core, 1.75GB Memory)
- 啟動虛擬主機,將主機配置成Application Server,然后添加Web Server等角色,確保IIS、.NET Framework等都正確安裝
- 在IIS中新建站點,將ByteartRetail.Services項目和ByteartRetail.Web項目部署上去,在部署ByteartRetail.Services項目時,注意要把AppPool的Load User Profile設置為True,如下圖:
因為我是用的SQL Server Express 2012 Local DB,所以不設置這個選項的話,程序就找不到DataDirectory目錄。 - 在虛擬機中本地調試成功后,到Windows Azure控制台,添加80端口:
大致步驟就是這樣,在整個部署過程中也沒遇到過什么大問題,主要就是上面第三點所述的問題,開始的時候網站一直打不開(無響應)。后來查了Event Log,才發現問題所在。
體驗
現在,請用瀏覽器打開http://daxnetsvr.cloudapp.net/ByteartRetailWeb,您將看到熟悉的Byteart Retail界面:
鄭重聲明:在體驗的過程中,如需注冊新用戶,請確保不要用自己的常用密碼進行注冊,因為為了簡化演示和平時的開發調試,Byteart Retail沒有對密碼進行任何加密處理(數據庫明文存儲),如果使用自己的常用密碼,勢必會帶來一定的安全隱患。由此導致的密碼泄露我本人可不負責哦!另外,我偷懶了,部署的時候直接用的SqlLocalDB,而不是SQL Express。眾所周知SqlLocalDB是一個開發版,因此在體驗的過程中萬一遇到了數據庫掛掉的錯誤,還懇請大家多多包涵!
所使用的技術
本次部署基於以下技術:
- 前端:ASP.NET MVC 4.0 + jQuery
- 應用層:XSD產生數據傳輸對象(DTO)、AutoMapper
- 倉儲:基於Entity Framework的倉儲(雖然Byteart Retail同時能夠無縫支持MongoDB倉儲,不過本次部署主要為了演示微軟相關技術,所以沒有使用MongoDB)
- 緩存:使用Microsoft Patterns & Practices Enterprise Library Caching Application Block
- 后台存儲:Entity Framework 5.0.0
- 數據庫:SQL Server 2012 Express Local DB
- 領域事件:N/A
- 企業服務總線(ESB):N/A(要流量啊,沒錢,傷不起)
總結
本文大致描述了一下在Windows Azure上宿主Byteart Retail案例程序的過程,也給出了體驗地址和體驗指導,歡迎廣大讀者朋友上網體驗。另外,打算近期在Linux CentOS系統中,結合Mono部署Byteart Retail的服務端,敬請關注!