ASP.NET nTier Architecutre

ASP.NET nTier Architecutre,asp.net,vb.net,n-tier-architecture,3-tier,Asp.net,Vb.net,N Tier Architecture,3 Tier,我有一个项目需要我使用ntier方法设置一个web应用程序。然而,由于我做的大多数项目都是一个使用1层的网站,因此我不熟悉这种架构 我决定建立一个三层体系结构,即表示层、业务和数据访问层 最后是数据层 我想知道,由于这些层位于不同的服务器机器中,它们应该如何通信?使用Web服务有助于解决这个问题吗 是否有任何简单的教程或课程完全教授这一点?从构建应用程序到在单独的服务器上部署。我认为这是一个很好的教程。我建议您在项目中使用MVC4,并遵循以下逻辑 使用以下各项: 表示层-->通过创建Asp.Ne

我有一个项目需要我使用ntier方法设置一个web应用程序。然而,由于我做的大多数项目都是一个使用1层的网站,因此我不熟悉这种架构

我决定建立一个三层体系结构,即表示层、业务和数据访问层 最后是数据层

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


是否有任何简单的教程或课程完全教授这一点?从构建应用程序到在单独的服务器上部署。

我认为这是一个很好的教程。我建议您在项目中使用MVC4,并遵循以下逻辑

使用以下各项: 表示层-->通过创建Asp.Net项目
业务逻辑和数据访问层-->通过创建Web服务项目
SQL数据库-->在安装SQL的计算机中创建新数据库

完成后:

  • 在SQL Studio中设计数据库表

  • 在BL&DAL项目中,使用实体框架连接到您的SQL DB,这将创建一个随时可用的方案,并且实际上将自动生成一个包含您需要的所有业务对象的DAL

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

  • 在表示层中,将服务引用添加到BL&DAL Web服务


  • 这需要时间,您需要阅读大量有关实体框架和Web服务的信息,以及如何根据您的需要利用这些信息。

    如果它们位于不同的计算机上,则使用Microsoft技术的常见场景是:

  • ASP.NET实现的用户界面
    (UI)
  • 业务层
    (BLL)由
    C#
    VB
    .NET
    作为一堆DLL
  • 数据访问层(DAL)作为关系数据库,即
    SQL
    数据库及其表、存储过程。。。加上课程(一些 DLL)来访问数据库。最佳实践是使用
    ORMs
    实体
    框架
    处理
    数据访问层
    数据层
  • 公共场景中的层将通过以下方式相互通信:

    • 您的
      UI
      将使用
      Web服务与
      BLL
      进行通信
    • 您的
      BLL
      将使用
      Web服务与
      DAL
      进行通信
    • 您的
      DAL
      将使用
      TCP/IP
      数据库进行通信

    尽管n层设计是最佳实践,但这并不意味着每一层都应该托管在不同的机器上(与其说是物理层,不如说是逻辑层)。例如,如果您将所有3个层都放在同一台机器上,并且只将数据库托管在不同的服务器上,那么您就不需要为
    BLL
    DAL
    实现web服务,这将减少复杂性和实现时间,并带来其他好处,即更高的通信速度和安全性。

    您可能会得到一些启发从…起示例是C#,但更多的是关于可能对您有用的概念。嗨,G.Y!目前,我创建了一个示例项目来模拟nTier体系结构。我有一个包含3个项目的解决方案,一个BLL、一个PL和一个WebService项目。因此,PL项目/层中的aspx.vb文件将调用一个WebService函数,该函数将调用BLL项目/层中的函数。我正在考虑将PL项目分离到一台服务器机器上,将BLL&Webservice项目分离到另一台服务器机器上。为了让PL层能够调用Webservice函数,我需要配置什么吗?