我用razor在MVC 3中创建了一个Web应用程序。我的解决方案结构如下:
A) Web Tier - Comprises of MVC
B) Business Layer
C) Data Tier
我需要在IIS上的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模式,但这是一种直接的方法,只需要对您的架构进行最小的更改。