2

您好,我被分配了一项任务,将现有的 3 层应用程序(表示层、业务层和数据层)转换为 Windows Azure 项目。

基本上我所做的是创建一个 Web 角色并将表示层放入其中,然后我创建了 2 个单独的类库(分别是业务和数据层)项目并使用引用将它们链接到表示层。

但是,当我在 Azure 中部署应用程序时,只上传了 Web 角色(表示层):/

我当前的 3 层架构无法与 azure 一起正常工作

有人可以告诉我是否:

  1. 甚至可以使用 azure 的 3 层架构
  2. 如果我在引用项目时犯了错误
  3. 如果这无法实现,是否存在类似 3 层的类似架构。

谢谢!

4

3 回答 3

1

Azure 可以做到这一点。问题是你是逻辑层还是物理层。如果它们是合乎逻辑的,只需将不同的程序集添加到一个 Web 项目中,这很容易,只需将其安装在 Web 角色中即可。如果它们是物理层,即您的业务层是 WCF 服务,这也是可能的,它可以托管在不同的 Web 或辅助角色中,或者如果您愿意,甚至可以全部托管在一个 Web 角色中。

于 2012-02-23T10:48:45.860 回答
1

关于缺少参考:您需要为您自己添加到项目中的每个参考设置“复制本地为真”。这样,所有这些引用都将被打包,并在部署到云时可供您的项目使用。

关于表示层和业务层: - 请记住,如果您在应用程序中具有 Web 和工作角色角色,您将获得两个单独的 VM 运行您的应用程序,您可以谈论的唯一方法是使用内部端点。在 Windows Azure 上运行您的应用程序时,想想为什么需要在两个虚拟机上分开代码(如果需要),因为您肯定可以在 Web 角色中拥有 Web 前端和后台处理代码。工作者角色是没有预配置 IIS 的虚拟机。大多数具有 Web 前端的非 .net 应用程序都使用 Worker 角色作为它们的前端,因此您需要仔细设计您的应用程序以选择哪些将用于 Web 角色,哪些将用于 Worker 角色。

于 2012-02-23T22:50:45.647 回答
0

Azure 只不过是 Windows Server 2008 机器的集合。您可以根据需要部署您的解决方案。通常一个 webrole 用于 Web 层(前端),一个工作角色用于逻辑(后端)。您的数据库或数据存储是最后一层。

于 2012-02-23T10:38:37.967 回答