代码之家  ›  专栏  ›  技术社区  ›  ScottG

在ASP.NET和Silverlight 2之间共享DAL的最佳实践

  •  3
  • ScottG  · 技术社区  · 16 年前

    我有一个ASP.NET 3.5电子商务站点,它有一个管理部分。我想换掉基于ASP.NET的管理部分,并在Silverlight2中重写它。Silverlight需要异步调用,因此我不能从新的SL2应用程序调用现有的DAL。

    做这种事情的最佳实践是什么?我应该创建一个WCF服务并通过它调用我的现有DAL,还是应该将所有内容都移植到WCF,或者应该将异步调用添加到我的现有非WCF DAL中。寻找关于这样做的最佳方法的建议。

    编辑:所以我读到的是,最好的方法是利用我现有的DAL,创建一个引用DAL并包装调用的简单WCF服务。WCF服务只是充当中间人来访问我的DAL,但是将其公开给Silverlight。如果你从头开始呢?如果您将DAL构建为WCF服务,以从WPF客户机、ASP.NET客户机、Silverlight客户机、任何其他客户机等开始并使用该服务。

    5 回复  |  直到 14 年前
        1
  •  8
  •   davogones    16 年前

    您通常希望避免将数据访问代码放入Silverlight应用程序,因为用户可以轻松地对代码实施反向工程。事实上,由于这个原因,Silverlight运行时不包含任何数据库通信框架类。

    建议的最佳实践是用WCF服务包装数据访问层,并从Silverlight调用WCF服务。有一篇关于做这件事的好文章 here .

        2
  •  6
  •   Andrew Hare    16 年前

    如果您在多个地方需要DAL,我建议您将其包装在一个WCF服务层中。

    它将取决于您的DAL,但尽最大努力将现有代码包装在服务层中,而不是重新编写所有内容。 作为 一项服务。这将为测试和未来的可伸缩性提供最大的灵活性。

        3
  •  0
  •   Manoj Attal    15 年前

    当然,如果您从头开始创建DAL,那么WCF服务是可用的好选择。但我认为现在.NET RIA服务在这种情况下是更好的选择。.NET RIA服务仅包装到WCF服务。但允许更好的功能。

        4
  •  0
  •   Aggelos Biboudis    15 年前

    RIA服务是目前最好的选择。另一种非WCF方式(WCF数据访问在Silverlight中的大型LOB应用程序中很难维护)可能是在服务器和客户机之间交换数据的一种宁静方式。

        5
  •  0
  •   renjucool    14 年前

    我们是否可以拥有一个WCF托管层,通过反射和T4代码生成访问已经实现的DAL组件。

    使用现有DAL公开为WCF服务的最佳实践是什么?