2013-02-09 91 views
0

我有一個WCF應用程序,有一堆域實體(由NHibernate映射)和服務合同。目前我直接通過服務合同向WCF客戶展示實體。但是這使我遇到了WCF數據合同的許多限制,特別是與序列化相關的限制。例如圓形圖限制,已知類型等。通過WCF服務暴露的對象是否僅僅是DTO?

看來更好的方法是使用實​​體在服務器端並使用DTO在WCF服務器和客戶端之間傳輸對象。我對嗎?這是必須的嗎?

回答

3

WCF是基於消息的系統 - 它基本上通過XML序列化的數據消息連接客戶端和服務器。因此,WCF只能來回發送靜態數據 - 它不是「遠程過程調用」或「遠程對象」系統,您可以將功能從靜音轉移到服務器並返回。

因爲任何WCF傳輸都必須是XML可序列化的,它實際上只是關於數據 - 所以是的 - WCF最適合只發送DTO樣式的數據對象。

相關問題