2011-10-19 85 views
0

我正在開發需要接收和返回XML的WCF SOA(ish)體系結構應用程序。通過WCF發送XML?

我已經搜索了最佳實踐。我唯一知道的是將原始xml作爲字符串發送會導致問題。

因此,我在尋找一個XmlTextReader類型的對象,它可能會更優雅地從a到b然後返回。

當我嘗試打電話給我的服務需要一個XmlTextReader作爲一個類型時,我得到一個錯誤,並坦率地說,它混淆了我的地獄。

底線它需要接受和接受大量的XML,我不能/不想用我自己的定義類型。

任何幫助?

+2

網絡並沒有所有的答案...(免費的是)。您應該考慮投資C#XML書籍,例如「用C#2008開始XML:從新手到專業」或「從C#開始XML:C#程序員的基本XML技能」。如果你計劃在C#中讀/寫大量的xml,你應該知道你在做什麼。也正如你在.net 4中,你可能想閱讀LINQ。有關相關問題,請參閱http://stackoverflow.com/questions/55828/best-practices-to-parse-xml-files。 – Eugene

+0

該死的書:)我知道我知道我必須精明,但是da bawz想要它昨天!幾乎完美已經足夠完美:)謝謝壽! –

回答

0

一個沒有深入分析的答案:你可以將XML轉換爲Base64編碼的字符串,然後像這樣發送。

+0

嗯仍然可能有一個大小問題..我沒有問題處理一旦到達那裏,但由於某種原因,它不會編組XmlTextReader我只是'對象引用未設置爲對象的實例'。沒有證據表明這種類型不能編組。 –

+0

我不會那樣做,因爲即使你使用它,你的服務也無法在其他平臺上運行。爲什麼你會在base64上遇到大小問題?你的xml有多大? –

+0

那麼從我的服務中返回的XML將很容易違反字符串上的8k限制。我只是不想返回本土複雜的數據類型,因爲我不能說誰或可能調用該服務。因此我探索了一個框架XML容器。該死的XML很冗長。 –

0

您可以使用XElement - 個人只在相對較小的Xml-YMMV塊上使用此功能。