我有一个项目要求我使用ntier方法设置Web应用程序。但是,由于我所做的大部分项目都是使用1层的网站,因此我对这个架构很陌生。
我决定建立一个3层架构,Presentation Tier,Business&数据访问层 最后是数据层。
我想知道,由于这些层位于不同的服务器机器中,它们如何进行通信?使用Web服务有助于解决这个问题吗?
有没有简单的教程或课程,这是完全教导的?从构建应用程序到在单独的服务器计算机上部署。
答案 0 :(得分:0)
我认为这是一个很好的教程。我建议你将MVC 4用于你的项目,并遵循以下逻辑
http://www.codeproject.com/Articles/439688/Creating-ASP-NET-application-with-n-tier-architect
答案 1 :(得分:0)
使用以下内容:
表示层 - >通过创建Asp.Net项目
商业逻辑与数据访问层 - >通过创建Web服务项目。
SQL数据库 - >通过在安装SQL的计算机中创建新数据库。
完成后:
在SQL Studio中设计数据库表。
在BL& DAL Project使用Entity Framework连接到您的SQL DB,这将创建一个即用型方案,实际上将自动生成一个DAL,其中包含您需要的所有业务对象。
在BL中为所有应该实现的方法创建方法签名(定义)。
在您的演示文稿层中添加服务引用到您的BL& DAL Web服务。
这需要时间,您需要阅读很多有关实体框架和Web服务以及如何根据您的需求使用它们的信息。
答案 2 :(得分:0)
如果它们位于不同的计算机上,那么使用Microsoft技术的常见方案将是:
User Interface
(UI)由ASP.NET
Business Layer
(BLL)由C#
或VB
.NET
实施
作为一堆DLL Data Access Layer
(DAL)作为关系数据库,即SQL
数据库与它的表,存储过程...加上类(一些
DLL)访问数据库。最佳做法是使用ORMs
即Entity
Framework
来处理Data Access Layer
和Data Layer
。您在常见场景中的图层将以这种方式相互通信:
UI
将通常使用BLL
与<{1}}进行通信。Web Services
将通常使用BLL
与<{1}}进行通信。DAL
将通常使用Web Services
与<{1}}进行通信。尽管DAL
设计是最佳实践,但并不意味着每个层应该托管在不同的机器上(认为它更像是逻辑分离而不是物理分离)。例如,如果您将所有3个图层保留在同一台计算机上并仅将数据库托管在其他服务器上,那么您不需要为Database
和TCP/IP
实施Web服务,从而降低复杂性和时间 - 实施加上其他好处,即更高的通信速度和安全性。