1

如果我们希望在 Windows Server 中保持旧部署仍处于运行状态,或者是否可以在两者上运行完全相同的 Web 应用程序,一旦将 Web 应用程序迁移到 Azure,我们是否需要支持两个不同的代码库?

4

1 回答 1

1

完全相同的应用程序无法在两种环境中运行,但您可以从相同的代码库为每个环境部署应用程序。这意味着进入 Windows Azure 部署包的内容是普通 Web 应用程序的超集。

我将假设您不会使用 Blob 存储、队列等,因为在这种情况下您显然会遇到问题。基本上,部署到 Windows Azure的是一个传统的 Web 应用程序,但添加了一些东西(列表不一定完整):

  1. 您的代码库必须包含服务定义和配置(这些只是 XML 文件)
  2. 您的 Web 应用程序必须有一个 RoleEntryPoint。在 VS2008 模板中,这是在派生自 RoleEntryPoint(在 WebRole.cs 中)的 WebRole 类中。

就像您不能在传统的 Windows Server 环境中使用 Azure 队列、Blob 等一样,您可能习惯使用 .NET 框架的某些功能,但 Windows Azure 不支持这些功能(目前您无法编写到类似 NTFS 的文件系统,尽管一旦启动 Windows Azure Drives 就可以实现)。

总而言之,我认为您可以从同一个代码库维护两个应用程序实例,但您必须始终牢记 Azure 和传统部署之间的差异。还要记住,部署过程有很大不同。

PS。我认为其中一些可能会随着 Windows Server AppFabric 的发布而改变。我不确定,但你可能想调查一下。

于 2010-02-19T22:41:32.487 回答