部署3层MVC应用程序

时间:2011-10-04 19:07:06

标签: asp.net-mvc-3 deployment

我用razor在MVC 3中创建了一个Web应用程序。我的解决方案结构如下:

A) Web Tier - Comprises of MVC
B) Business Layer
C) Data Tier 

我需要在IIS上的3台服务器上分别部署这三个层。 谁能建议如何继续?

由于

3 个答案:

答案 0 :(得分:1)

B需要由A调用的Web服务包装。

C是数据库服务器吗?只需将其安装在单独的服务器上即可。

答案 1 :(得分:1)

A)这将进入ServerA上的ASP.NET MVC应用程序

B)这将进入您的ASP.NET MVC应用程序将使用的ServerB上托管的WCF服务

C)这是SQL Server或您正在使用的任何内容以及Web服务将要求的内容,这可以在ServerC上进行

答案 2 :(得分:1)

由于您担心在哪里部署edmx文件,我将详细介绍业务层。

首先,我要重申层与层之间的区别。您为业务逻辑提到了一个单独的物理服务器,因此我的答案将采用物理上独立的业务层。此后将称之为层级。

EDMX文件虽然与您的数据库架构相结合,但却是一个业务层工件。 IT必须与您的其他业务类(实体,数据访问管道等)位于相同的物理位置(在您的情况下)...

在您的情况下,您最大的障碍是B组件。将A和C(分别是Web应用程序和数据库)部署到不同的物理层上并不是特别困难。

您肯定需要在业务逻辑类之上构建WCF服务Facade,以将其功能公开给驻留在不同服务器上的MVC网站。有很多文章详细阐述了Facade模式,但这是一种直接的方法,只需要对您的架构进行最小的更改。