如何在WCF和标准ASP.NET方案中重用服务层

时间:2010-09-10 14:50:33

标签: asp.net service wcf

我希望能够创建标准的POCO服务,我可以在两个不同的工作流程中使用它:

  1. 进程中,即由我的ASP.NET webforms应用程序使用
  2. 通过公开的WCF端点远程通过其他应用程序使用
  3. 有没有办法在上述两种情况下重复使用相同的服务及其返回数据类型?理想情况下,我的核心服务和数据类型不必使用WCF特定属性进行修饰,我可以在某种WCF外观层中添加这些属性。

    谢谢!

1 个答案:

答案 0 :(得分:1)

从.NET 3.5开始,您不需要使用WCF相关属性(DataContract,DataMember)来装饰数据对象。如果你不使用它们,将使用默认序列化 - 所有带有公共getter和setter的属性都将被序列化(类也必须有公共无参数构造函数)。

如您所述,共享“服务”图层可以正常工作。您可以创建公开功能的业务服务层。 ASP.NET应用程序在进程中使用此功能。比你创建包装层,它用WCF相关属性标记并公开为WCF服务。您的WCF层可以作为外观处理,并将多个业务调用复合到单个Web服务调用。