部署Asp.Net MVC 网站到Winodws Azure

  • 来源: asp.net教程网 作者: xiaoyang   2009-07-10/15:19
  • 上个礼拜,我的Azure邀请码终于到了,小兴奋了一把,于是马上去注册账号,并成功部署了一个网站到Azure上。

    由于最近在学习Asp.Net Mvc框架,于是就想部署一个Mvc应用到Azure上,本来理所当然的认为Azure会支持Mvc,结果实际部署之后发现并不支持。

    后来经过几次都不成功之后,有点想放弃了,不过幸好后来看到了以下这篇文章:

    http://blogs.msdn.com/jnak/archive/2008/11/10/asp-net-mvc-on-windows-azure-with-providers.aspx

    阅读了这篇文章,发现其实部署一个Mvc应用到Azure其实很简单,我按照里面所说的步骤很快就成功部署了一个应用。

    这是我已经成功部署到Azure上的网站,大家可以先看看效果:http://np.cloudapp.net/

     

    为了方便大家阅读,我在这里就简单的翻译一下,总结起来可以有以下几点:

    1.新建一个空的Cloud Service,例如叫:MVCCloudService。

    部署Asp.Net MVC 网站到Winodws Azure

    2. 添加一个Asp.Net Mvc Application,例如叫MVCWebRole。

    部署Asp.Net MVC 网站到Winodws Azure

    3. 卸载刚刚建的MVCWebRole项目

    部署Asp.Net MVC 网站到Winodws Azure

    4. 右键编辑MVCWebRole项目文件。

    部署Asp.Net MVC 网站到Winodws Azure

    5. 把<RoleType>Web</RoleType>加到项目文件的第一个<PropertyGroup>中,并保存。就像以下那样:

    <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
    . . .
    <RoleType>Web</RoleType>
    <PropertyGroup>

    6. 重新加载MVCWebRole项目。

    部署Asp.Net MVC 网站到Winodws Azure

    7. 右键点击MVCCloudService项目的Roles节点,选择 Add -> Web Role Project in solution

    部署Asp.Net MVC 网站到Winodws Azure

    选择MVCWebRole 项目

    部署Asp.Net MVC 网站到Winodws Azure

    8. 最后一步,也是很关键的一部。

    由于Azure上面没有安装ASP.NET MVC RC2,所以你必须把System.Web.Abstractions,System.Web.Mvc,System.Web.Routing这三个dll打包到服务包里面,部署到Azure之后你的网站才能运行正常。

    打包方法很简单,就是把
    MVCWebRole项目引用的这3个dll的复制本地属性设置为true就可以了。

    部署Asp.Net MVC 网站到Winodws Azure

     

    到这里一个能部署到Azure上正常运行的Asp.net Mvc 应用就已经基本完成了,最后发布的步骤这里就不再啰嗦了,不懂得发布的可以到园子搜索一下,有很多关于如何发布一个应用到Azure的文章。

    个人推荐浏牛木马的Azure Services Platform Step by Step系列文章:

    http://www.cnblogs.com/azure/tag/Azure/

    最后为了方便大家测试,我把按照以上步骤做好的源码共享给大家。

    最后再补充说明一下,在vs 2008中Azure cloud service 项目和Mvc项目在同一个解决方案的话,是会是vs 2008崩溃的,解决办法就是去下载一个补丁,补丁地址是:https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=16827&wa=wsignin1.0

    不过这个补丁不能用于Windows 7,哎。。。我就是在用windows7,白老鼠真的是要承受很多的不便


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多