4

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

我做错了什么还是这仅仅是 Azure 的发展方式?

我的规格:

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

4 回答 4

2

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

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

当然,如果您在表存储、队列、blob 等方面做了大量工作,那么这不适合您。

于 2010-06-08T22:17:17.440 回答
1

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

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

于 2010-06-08T08:55:09.627 回答
1

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

于 2011-01-22T21:17:44.723 回答
0

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

于 2010-06-08T18:29:35.420 回答