2009-07-13 81 views

回答

9

作爲一個經驗法則;當你自己設計一個類型時,它應該是一個類,除非該類型表示一個單一的值,在這種情況下它應該是一個結構體。

4

Fredrik有正確的答案。我只會補充一點,您應該記住客戶永遠不會看到您的數據合同。它將被轉換成XML模式並將被包含在WSDL中。回想一下,在客戶端,它可能是一個Perl甚至是經典的ASP客戶端 - 這種東西沒有價值觀念和引用語義。

因此,價值與參考是對服務而言非常重要的事情 - 而不是客戶。

+0

已編輯q。這就是我想要在這裏辯論的那種;) – user134706 2009-07-13 12:49:33

0

其實約翰桑德斯並不完全正確。由WCF 生成的WSDL確實事實上指示對象是否爲值或引用類型。當你在客戶端有WCF時,你可以利用這個。此外,值vs引用對WSDL各個部分的isNullable屬性有影響,它可以改變語義。

當然,您需要確保自己不會陷入不兼容的角落 - 在某些客戶端環境中,可爲null的值類型與引用類型(甚至可能)不一定是相同的。

相關問題