2010-08-12 110 views
0

是否有任何方法來定製或控制在WCF客戶端中創建哪種類型的集合類類型?在Visual Studio中使用默認的「添加服務引用」菜單選項時,邊界類型是什麼?自定義WCF添加服務引用行爲?

我們的WCF服務是這樣的,當自動化的「添加服務引用」運行時,它會創建所有包含對象的集合的服務器端數據集的類型....這是造成

「沒有相應的開始元素打開「

錯誤消息。

我想告訴我們的業務合作伙伴如何創建一個工作的WCF客戶端,爲了做到這一點,我想我需要告訴他們如何創建一個客戶端,其中相關集合類型是列表或數組的對象,而不是數據集。

編輯:

我有我的類型稱爲DoubleSchedule自定義類型,它實現IXmlSerializable的,並且被序列化一樣執行下列操作之一:
<DataELementName firstIntervalId="87656" schedule="77.3|77.3|76.9|77" />

<OtherDataELementName firstIntervalId="87656" lastIntervalId="87670" value="76.1" />

即使我在Add Service Reference對話框的Advanced選項卡中指定Collection類型,我所有使用此類型的Xml元素都將獲取基於DataSet的生成類型。

想法?

回答

1

您的問題並不約爲集合類型,而是DataContractSerializer的。如果您忘記將XmlSchemaProvider屬性應用於您的類,則DataContractSerialzer會假定您嘗試序列化遺留的DataSet對象。

我假設你沒有試圖這樣做,因此返回的DataSet爲空。這很可能是您的起始元素錯誤來自哪裏。

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlschemaproviderattribute.aspx

編輯:

http://msdn.microsoft.com/en-us/library/aa347876.aspx