簡體   English   中英

WCF返回不同類型的數據

[英]WCF returning different types of data

一般而言,我只是從WCF和Web服務開始。 我對它們的目的以及它們的工作原理有很深刻的了解,但是我想知道如果您希望返回Text以外的東西,它們具有什么功能? 例如直接的HTML表單或圖像。

我做了一些簡單的谷歌搜索,但是可惜我發現的是如何處理從表單傳遞的數據,而不是如何返回表單。

我希望有人可以給我一個很好的起點,讓我了解自己應該看的東西。 我看了一個線程,指出要使用WCF進行流傳輸,但這似乎有點過分,並且想知道是否有人可以給我一些一般性的建議和意見。

非常感謝,羅納德。

WCF服務可以返回運行時可以序列化的任何對象。 只要是使用它們的.NET客戶端,我們就不會在服務中返回自定義對象。 其他語言可能必須更加努力才能反序列化復雜對象。 (這意味着您必須編寫更多代碼,因為非Visual Studio IDE可能不知道如何自動生成所需的客戶端代碼。)

它可能取決於實際的綁定,但是為了簡單起見,假定您通過http綁定WCF服務。 然后,您傳遞給服務和從服務傳遞的所有內容都應以某種方式轉換為字符串。 簡單類型,整數,dule,字符串很容易轉換。 復合類型-也因為它們由簡單類型組成。 對於圖像或html表單之類的特定類型,您總是嘗試找到一種在一側將其轉換並在另一側轉換回去的方法。 在許多情況下,串行器可以為您完成此操作,例如,如果您返回byte[] ,則數據將被編碼為base64字符串。 如果序列化器由於某種原因而失敗,則必須找到自己的方式來傳遞特定類型。 還請記住,對於WCF,您可以選擇一個特定的序列化器:

http://nirajrules.wordpress.com/2009/08/26/wcf-serializers-xmlserializer-vs-datacontratserializer-vs-netdatacontractserializer/

WCF旨在使用標准或自定義協議來構建Web API。 如果使用默認配置,則WCF將輸出使用SOAP序列化的對象,但是JSON也可用。

WCF當然能夠輸出純HTML,但並不是出於這個目標而設計的。 它旨在用於流程之間的通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM