2010-09-14 102 views
0

我有一個方法AddEntity(object o)。我正在使用反射等來確定它在服務器端的實體類型,並將其添加到數據庫中。我正在使用自我跟蹤實體。但是,這是我得到的錯誤。將Object作爲參數傳遞給WCF服務

「元素包含映射到名稱的類型的數據,反序列化程序不知道映射到該名稱的任何類型。」

這是一個謊言。我在服務器端擁有實體,並且我將客戶端的實體作爲代理。我只是將它作爲一個對象傳遞,因爲我推廣了AddEntity方法。

我使用的對象,因爲泛型不可序列化。所以我不能做這樣的事情:

[OperationContract的] ADDOBJECT(T實體)

任何建議者居多。

+0

WCF合同是明確定義的。 「對象」合同不是。 – 2010-09-14 14:21:40

回答

1

不,這不是WCF的工作原理。 WCF將實體序列化爲有線格式並對另一側的實體進行反序列化。反序列化過程需要知道什麼類型必須被反序列化 - 這些信息不是序列化數據的一部分。該類型從操作參數或返回類型中解析。對象是不允許的。