2010-09-10 44 views
0

我希望能夠創建標準POCO服務,我可以在兩個不同的工作流程使用:如何在WCF和標準ASP.NET場景重用服務層

  1. 進程,即通過消耗我的通過暴露WCF終結ASP.NET Web表單應用程序
  2. 遠程其它應用程序

有沒有辦法重新使用在這兩種情況下相同的服務和返回數據類型上面消耗?理想情況下,我的核心服務和數據類型不需要用WCF特定的屬性進行修飾,我可以在某種WCF外觀層中添加這些屬性。

謝謝!

回答

1

從.NET 3.5開始,您不需要用WCF相關屬性(DataContract,DataMember)來修飾數據對象。如果你不使用它們,將使用默認的序列化 - 所有具有公共getter和setter的屬性都將被序列化(同時類必須具有公共無參數構造函數)。

如您所描述的,共享「服務」層的工作非常靈活。您創建公開功能的業務服務層。此功能由您的ASP.NET應用程序在進程中使用。比你創建WCF相關屬性標記的Wrap服務的包裝層。您的WCF層可以作爲Facade處理,並將多個業務呼叫組合爲單個Web服務呼叫。