2011-12-15 58 views
0

我有一個產品數據合同與一對WCF服務的一部分數據成員。我還使用DataContractSerializer將此產品數據合同序列化並存儲在我的應用程序中。從WCF生成的WSDL中刪除模式元素

現在,我想在生成服務元數據(WSDL)時刪除Product DataContract的某些Datamembers。但是,當我在應用程序中序列化對象時,我希望產品數據合同中的所有數據成員都可用。

實際上,我想要做的是:抓住WSDL生成過程並將所需的數據成員從注入到生成的WSDL中移除。

感謝 Mofolo

回答

2

黑客WSDL不包含的信息不會幫助你。您的服務在將它們傳遞給客戶端以及從客戶端反序列化時仍然會使用完整的類型。而不是黑客使用WSDL和WCF將DTO用於WCF服務=新的一組類型,它將只包含您想要與客戶交換的屬性。將主對象轉換爲DTO,反之亦然(您可以創建自己的自定義轉換器或使用一些框架,如AutoMapper)。這是最佳做法。