【问题标题】:How to update asp.net azure application如何更新 asp.net azure 应用程序
【发布时间】:2012-04-18 05:44:02
【问题描述】:

我是 Windows azure 的新手。我创建了简单的 HelloWorld ASP.NET azure 应用程序并发布了它。我知道我可以通过单击项目上的右键然后发布它来在 Visual Studio 中重新发布整个应用程序。但是是否可以只更新一个文件(aspx 页面、图片等)

谢谢! 问候,亚历山大。

【问题讨论】:

    标签: asp.net visual-studio azure


    【解决方案1】:

    我认为,如果您只是在学习 Windows Azure,最有帮助的答案是“您不能”。 Windows Azure 的工作方式是更新应用程序,创建完整的包并再次部署。

    这并不是说大卫的答案也不正确。我只是想直接回答“部署后如何只更改一个文件?”的问题

    【讨论】:

      【解决方案2】:

      如果您想更新图像等单个文件,您可以做的一件事是将所有图像(以及 css、javascript 和任何其他静态内容)存储在 Blob 存储中。这有几个优点:

      • 使用免费工具和付费工具轻松单独上传新文件。例如:Cloudberry Explorer 是一款免费应用,Cerebrata Cloud Storage Studio 是一款付费应用,两者都可以让您单独管理容器和 Blob。
      • 较小的部署包,因为您已删除图像和其他大文件
      • IIS 上的负载更少,因为图像请求直接发送到 Blob 存储,而不是您的角色实例

      您不能将 aspx 文件存储在 blob 中,但可以将静态内容(如 html)存储在 blob 中。要更新 aspx,您基本上是在更新部署。您现在可以将此作为“升级”来执行,它不会中断您的 IP 地址,并且如果您有多个实例,也不会在升级期间关闭您的服务。

      【讨论】:

      • 非常感谢!你能告诉我什么是“升级”吗?
      • 发布时,您可以“删除并重新部署”或“升级”。在前者中,你会丢失你的 IP 地址,因为一切都被拆除和重建。在后者中,新部署包替换旧部署包,同时保留您的部署。如果您有 2 个或更多实例,则升级的方式是至少有一个实例保持运行,而其他实例正在升级到您推送的新代码。
      • 另外:查看this article,它显示了无需删除+重新部署即可在升级中完成的操作。
      【解决方案3】:

      您可以使用webdeploy(应该对所有文件进行选择性update)或通过remote desktop 连接并自己更新某些文件。 就像评论和 MSDN 所说:这两种方法都不推荐/可用于生产部署。它们仅作为某些开发场景的捷径。

      【讨论】:

      • 请不要通过 RDP 更新。一旦您的角色实例出现问题(例如,本地磁盘被移动,或者由于硬件问题您被移动到另一个盒子),您的更改就消失了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 2022-01-06
      相关资源
      最近更新 更多