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

3
我有一个ASP.NET 3.5电子商务网站,其中有一个管理部分。我想要用Silverlight 2替换基于ASP.NET的管理部分并重写它。Silverlight需要异步调用,因此我不能从新的SL2应用程序中直接调用现有的DAL。
做这样的事情的最佳实践是什么?我应该创建一个WCF服务并通过它调用我的现有DAL,还是应该将所有内容移植到WCF,或者应该只是在现有的非WCF DAL中添加异步调用。寻求关于如何完成这样的事情的最佳方法的建议。
编辑:所以我读到的最佳方法是利用我的现有DAL并创建一个简单的WCF服务,该服务引用该DAL并包装调用。WCF服务无非是充当一个中间人来访问我的DAL,但将其暴露给Silverlight。如果你从头开始呢?你应该首先将你的DAL构建为一个WCF服务,并从WPF客户端、ASP.NET客户端、Silverlight客户端、任何其他消费者等使用该服务。
5个回答

8
通常情况下,您应该避免将数据访问代码放入Silverlight应用程序中,因为用户可以轻松地反向工程您的代码。实际上,正是出于这个原因,Silverlight运行时不包括任何数据库通信框架类。
推荐的最佳实践是使用WCF服务封装您的数据访问层,并从Silverlight调用WCF服务。这里有一篇很好的文章here

6
如果您需要在多个地方使用您的数据访问层(DAL),我建议您将其封装在WCF服务层中。
这取决于您的DAL,但请尽最大努力将现有代码封装在服务层中,而不是将所有内容都重写为服务。这将为您提供最大的灵活性进行测试和未来的可扩展性。

0

如果你从头开始创建数据访问层,WCF服务是一个不错的选择。但我认为在这种情况下,现在.NET RIA服务可能是更好的选择。.Net RIA服务只是WCF服务的包装器,但允许更好的功能。


0

RIA Services 是当前最佳选择。除了非 WCF 方式(WCF 数据访问在 Silverlight 的大规模 LOB 应用程序中很难维护)之外,RESTful 方式也是服务器和客户端之间交换数据的一种方式。


0

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

如何最好地利用现有的 DAL 将其作为 wcf 服务进行公开?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接