【问题标题】:Windows Azure local development environment speedWindows Azure本地开发环境速度
【发布时间】:2019-02-28 12:45:35
【问题描述】:

我已经开始将现有的 ASP.NET Web 应用程序移植到 Windows Azure,并注意到开发过程非常缓慢。每次我对代码进行更改并想要查看它时,我都必须有效地将其重新部署到本地开发云(使用 Start debugging (F5) 或 Start without debugging (Ctrl-F5)。进程本身接管了分钟,在此期间 Visual Studio 完全没有响应。

我是不是做错了什么,或者这仅仅是 Azure 的发展方式?

我的规格:

  • Visual Studio 2008 9.0.30729.1 SP
  • 5 个项目在 .NET 3.5 SP1 上运行
  • Azure SDK 1.1(2010 年 2 月)
  • 单个 Web 角色的单个实例
  • 双核 AMD 64 机器,8GB RAM,64 位 Windows 7,完全修补
  • 主项目本身相当大(3k 文件,~200k 行),但在 10-15 秒内正常编译

【问题讨论】:

    标签: azure azure-web-app-service


    【解决方案1】:

    如果您的 Web 角色功能有限,您也许可以在 VS 解决方案中将 Web 项目设置为活动项目并从那里运行。

    例如,我的 Web 角色不会调用表存储、blob 存储等......它只是进行一些 Azure 日志记录调用并与 SQL Azure 交互。所以有时我只是将 web 项目设置为 VS 调试器中的启动项目,而不是 Azure,然后从那里运行。我已经正确编写了我的日志记录调用,以在它们编写之前检查 Azure 是否可用,因此它们不会在这种情况下执行。

    当然,如果您经常使用表存储、队列、blob 等,那么这不适合您。

    【讨论】:

      【解决方案2】:

      通常在开发机器中,我们只是编译并运行解决方案。在 Azure 开发的情况下,还有一个额外的步骤,将特定项目部署在 Dev 结构中,这涉及将完整的网站内容复制到动态创建的部署文件夹中。由于您有大量文件,因此每次按 F5 或 Ctrl-F5 时都需要将所有这些文件复制到一个新文件夹中。这可能会导致您注意到的延迟。

      此方案还突出了在 App 结构上部署解决方案的不灵活性。每当您更改网站中的任何内容(静态或动态)时,都必须将整个网站打包并重新上传到您的生产服务器上。

      【讨论】:

      • 这很烦人。对于比我的项目大得多的项目,人们会怎么做?我想知道 Web 角色是否可以在 Cassini 上运行,因为表存储只是 oData。一旦我对 Azure 有了更多的经验,我会尝试一下。
      • 是的。我看过来自 Cloud9 的 Azure 网络广播,其中应用程序被分解。图片、html、css 等静态内容与 Azure 解决方案分开部署。刚刚链接到这些资源的 azure web 应用
      【解决方案3】:

      在我的情况下,当我将端口从 80 更改为其他值(在端点下)时,速度恢复正常。

      【讨论】:

        【解决方案4】:

        Microsoft 的 Steve Marx 有一个 blog post,关于从 Azure 中已安装的 VM 运行网站。这可能是一种很好的开发模式,因为您只需更新存储在 blob 存储中的 VM 的内容,而不必每次都重新部署到结构。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-22
          • 2017-04-07
          • 1970-01-01
          • 1970-01-01
          • 2014-10-28
          • 1970-01-01
          • 2017-10-10
          相关资源
          最近更新 更多