我們可以將數據集傳遞給Web服務方法嗎?如果是,那麼如何?我們可以將數據集傳遞給Web服務方法嗎?如果是,那麼如何?
回答
IIRC,「是」(只是有一個DataSet
參數),但也「你不應該」;雖然.NET可能知道如何處理它,但Web服務旨在基於xml實體進行互操作;一個DataSet
(甚至當序列化爲XML)是儘可能遠離你可以得到。海事組織最好寫一些代表你的模型的基本類,並將這些公開給web服務,因爲它們可以在xsd中正確表示以用於SOAP目的。
將DataSet傳遞給webservice並不是一個好主意。相反,使用DataSet的ReadXML或WriteXML方法將數據傳遞給webservice並在webservice端讀取它。
編輯:如果可能創建單獨的類作爲馬克Grawell說,如果你是不可行的(這是一個罕見的情況),那麼你可以使用上面的方法來傳遞數據比直接傳遞的DataSet更好的辦法。
Marc是正確的數據集。這可能是你可以做的最糟糕的設計原則之一。 但是,您不應該以您代表模型的方式構建數據合同。您構建的SOAP消息應該被定義爲消息。您不是通過線路發送對象,而是發送SOAP消息。然後,您可以使用由該消息封裝的其中一個對象模型,但不要將其作爲對象本身發送。
基於工作消息,您可以更好地控制諸如安全標題和faulths之類的內容。
備註:以上主要涉及WCF; * vanilla * asp.net web-services的工具等功能要弱得多 –
是的,這隻能使用像WCF這樣更強大的框架來完成。 –
- 1. 如何將數組值傳遞給C#web服務方法
- 2. 如何將請求參數傳遞給Jitterbit Web服務方法?
- 3. 我們可以將GET數據傳遞給css嗎?
- 4. 如何將可變數量的參數傳遞給Web服務
- 5. 我可以將viewdatadictionary(mymodel)傳遞給mvc視圖嗎?那麼如何訪問它?
- 6. 如何將數據傳遞給方法
- 7. 如何將附加數據傳遞給Web服務
- 8. 如何將大量數據傳遞給Web服務
- 9. 我可以將參數傳遞給iphone方法的clickedButtonAtIndex嗎?
- 10. 我們可以將類型作爲參數傳遞給方法嗎?
- 11. 我們可以將參數從XML文件傳遞給@beforesuite方法嗎?
- 12. 如果Java是按值傳遞的,那麼爲什麼我們可以改變方法中對象的屬性?
- 13. 我們可以重寫WCF或Web服務中的方法嗎?
- 14. 我們可以在jsp中使用@autowired嗎?如果是,那麼如何。?
- 15. 將數據傳遞給.net Web服務並獲取結果?
- 16. 我可以將System.Net.MailMessage傳遞給WCF服務嗎?
- 17. 我可以將接口傳遞給android中的服務嗎?
- 18. 我們可以將參數傳遞給C中的信號嗎?
- 19. 我們可以將參數傳遞給SQL中的視圖嗎?
- 20. 將url作爲參數傳遞給web服務方法
- 21. 是否可以通過jQuery Ajax將ObjectDataSource傳遞給Web方法?
- 22. 如何將數據從服務器傳遞給服務人員
- 23. 將參數傳遞給AXIS Web服務
- 24. 如何以編程方式將參數傳遞給Windows服務的OnStart方法?
- 25. 如何將JavaScript數組的數組傳遞給Web服務?
- 26. 我可以將參數傳遞給PowerShell函數Unix方式嗎?
- 27. 我們可以將objectdatasource控件分配給數據集嗎?
- 28. 我如何將方法傳遞給List.Sort()?
- 29. 我可以將CGContextRef傳遞給從drawRect調用的方法嗎?
- 30. 我可以將類型對象傳遞給泛型方法嗎?
+1並非所有技術上是可行的也是一個不錯的主意...... –
+1即使我貼我的答案使用ReadXML的和方法中WriteXML,但我仍然會與你的答案使用單獨的類去傳遞數據。 – JPReddy
@Marc Gravell:我怎麼能通過數據集從android到soap服務有任何setps? –