在Windows Azure虚拟主机上宿主Byteart Retail案例程序
部署
这两天将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的服务端,敬请关注!