2011-09-26 24 views
0

我有一個類說supplierAddress它來自web服務(它是一個datacontact)。然後我有第二個類myAddress,它繼承了那個類,並有幾個構造函數和方法。繼承datacontracts

我想要做的是通過myAddress回到web服務。當我傳遞一個myAddress時,它會拋出一系列的錯誤,這使得sence成爲了一個refrence對象,並且即使在im下來時整個對象仍然被傳遞。

是否可以克隆一個對象的基類?是我試圖做到可能/正確的?

+0

Ps。根據要求提供確切的錯誤。我沒有包括它,因爲我不認爲它的相關性。 –

+0

通常,如果在序列化/反序列化期間出現錯誤,則錯誤消息可能包含您需要解決此問題的所有信息。例如,您可以打開跟蹤(http://msdn.microsoft.com/zh-cn/library/ms733025.aspx),並在相應的日誌文件中查看所有必要的詳細信息。 –

回答

1

您應該爲您的基類指定Known types

更新:額外的說明。

SOA(面向服務的體系結構)範式不支持多態或方法重載等常見功能。這種行爲基於一個非常簡單的事實:您不知道哪個平臺會使用您的服務。它絕對有可能在平臺或語言中使用不支持諸如繼承或方法重載之類的東西的服務。

這就是爲什麼你應該用獨特的名字創建你的服務函數,這就是爲什麼你應該明確地說明你將通過什麼類型而不是基類引用。

當您指定已知類型時,此信息將通過元數據暴露於您的服務之外,並且每個客戶都可以瞭解如何處理您的響應。