1

在ASP.NET MVC项目上,数据访问层将在WCF中实现。原因在于这些WCF服务将来会被其他一些客户端应用程序使用。WCF与ASP.NET MVC - 参考项目

我可以知道是否有任何好的参考项目可以查看。 ,我需要看看重要的事情是:

  • 如何在项目结构
  • 需要遵循的最佳实践
  • 如何域对象/波苏斯,DTO的,的ViewModels需组织起来,互相
  • 单元测试之间的沟通方法


所有您的建议/在这些领域的建议高度赞赏


非常感谢你。

+0

我的两美分是让BL通过WCF而不是直接通过DAL。 –

回答

2

你会像做任何其他ASP.NET MVC应用程序一样做。您只需提供一个可调用WCF服务的存储库实现。所以基本上你的资料库界面可能是你拿到了经营合同,当你输入你的服务:

public interface IProductsService 
{ 
    IEnumerable<Product> GetProducts(); 
} 

ProductIProductsService是从你的WCF服务未来域对象。在实现这个接口的时候,你可以把调用委托给服务本身。至于应用程序的其它部分而言,你的控制器并不真正关心,因为它们是弱耦合:

​​

非常标准的东西,它是你的控制器看起来应该像无论身在何处,数据来自。正如你可以看到,如果你总是用抽象来设计你的应用程序,你可以很容易地切换这个IProductsService的实现,它将被注入到你的控制器中,并且从ASP.NET MVC应用程序的角度来看,它甚至没有什么区别。视图模型应该是Web UI的一部分,因为它们与视图紧密相关。

服务契约和领域模型进入服务层。