我用剃刀在MVC 3中创建了Web应用程序。我的解决方案结构如下:部署3层MVC应用程序
A) Web Tier - Comprises of MVC
B) Business Layer
C) Data Tier
我需要在IIS上的3台服务器上分别部署这三层。 任何人都可以建议如何进行?
由于
我用剃刀在MVC 3中创建了Web应用程序。我的解决方案结构如下:部署3层MVC应用程序
A) Web Tier - Comprises of MVC
B) Business Layer
C) Data Tier
我需要在IIS上的3台服务器上分别部署这三层。 任何人都可以建议如何进行?
由于
由于您关心的是在哪里部署您的EDMX文件,我只会详细说明业务层。
首先我会重申层和层之间的区别。你提到一个单独的物理服务器为您的业务逻辑,因此我的答案将假设一个物理上独立的业务层。并将从此称为一个层次。
EDMX文件尽管与您的数据库模式耦合,但却是业务层工件。 IT必须与其他业务类别(实体,数据访问管道等)位于相同的物理位置(在您的情况下)。
在您的情况下,您最大的障碍是B组件。将A和C(分别是Web应用程序和数据库)分别部署到不同的物理层上并不是特别困难。
您肯定需要在您的业务逻辑类之上构建一个WCF服务Facade,以将其功能展现给驻留在不同服务器上的MVC网站。有很多文章详细阐述了Facade模式,但是这是一个直接的方法,只需要在你的体系结构中进行微小的改变。
感谢您的建议。我正在研究Facade Pattern进行部署。 – Vipul
A)这进入ServerA上
B)的ASP.NET MVC应用程序本进入托管ServerB上WCF服务,你的ASP.NET MVC应用程序会消耗
C)这是SQL Server或任何你正在使用和将要求的Web服务,这将继续ServerC
但是,您的业务层设计为部署在单独的物理机上,它有服务吗?远程处理?有很多先决条件,然后才能部署到单独的物理层。您应该提供有关该体系结构的更多详细信息。 –
@Anas Karkoukli:我刚刚了解部署问题。编码时我们没有考虑远程处理或服务。 – Vipul
@Anas Karkoukli:请提供进一步的建议 – Vipul