ASP.NET nTier Architecutre

时间:2013-04-24 11:15:46

标签: asp.net vb.net n-tier-architecture 3-tier

我有一个项目要求我使用ntier方法设置Web应用程序。但是,由于我所做的大部分项目都是使用1层的网站,因此我对这个架构很陌生。

我决定建立一个3层架构,Presentation Tier,Business&数据访问层 最后是数据层。

我想知道,由于这些层位于不同的服务器机器中,它们如何进行通信?使用Web服务有助于解决这个问题吗?

有没有简单的教程或课程,这是完全教导的?从构建应用程序到在单独的服务器计算机上部署。

3 个答案:

答案 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的计算机中创建新数据库。

完成后:

  1. 在SQL Studio中设计数据库表。

  2. 在BL& DAL Project使用Entity Framework连接到您的SQL DB,这将创建一个即用型方案,实际上将自动生成一个DAL,其中包含您需要的所有业务对象。

  3. 在BL中为所有应该实现的方法创建方法签名(定义)。

  4. 在您的演示文稿层中添加服务引用到您的BL& DAL Web服务。

  5. 这需要时间,您需要阅读很多有关实体框架和Web服务以及如何根据您的需求使用它们的信息。

答案 2 :(得分:0)

如果它们位于不同的计算机上,那么使用Microsoft技术的常见方案将是:

  1. User Interface(UI)由ASP.NET
  2. 实施
  3. Business Layer(BLL)由C#VB .NET实施 作为一堆DLL
  4. Data Access Layer(DAL)作为关系数据库,即SQL 数据库与它的表,存储过程...加上类(一些 DLL)访问数据库。最佳做法是使用ORMsEntity Framework来处理Data Access LayerData Layer
  5. 您在常见场景中的图层将以这种方式相互通信:

    • 您的UI将通常使用BLL与<{1}}进行通信。
    • 您的Web Services将通常使用BLL与<{1}}进行通信。
    • 您的DAL将通常使用Web Services与<{1}}进行通信。

    尽管DAL设计是最佳实践,但并不意味着每个层应该托管在不同的机器上(认为它更像是逻辑分离而不是物理分离)。例如,如果您将所有3个图层保留在同一台计算机上并仅将数据库托管在其他服务器上,那么您不需要为DatabaseTCP/IP实施Web服务,从而降低复杂性和时间 - 实施加上其他好处,即更高的通信速度和安全性。