2012-03-09 48 views
0

背景:我目前使用Visual Studio 2010在線模板「WCF REST服務模板40(CS)」,它對我的​​主要基於JSON的服務非常有用。我甚至在返回圖像時返回一個流。WCF 4 REST - 獲取底層響應流對象進行編寫

方案:我目前正在研究服務器推送&多重/ X - 混合替代技術,以取代我目前使用圖像的方法投票。

問題:我面臨的問題是,我無法找到一種方法來獲取REST請求的基礎響應流,我知道該模板試圖通過從我這裏抽象出來幫助,但爲了正確地實現multipart/x-mixed-replace機制,我需要直接寫入這個流,並完全控制我寫入客戶端的內容。

任何幫助將不勝感激。服務器推技術似乎非常酷!

回答

0

我回來了各種各樣的東西,在響應,包括文檔,電子表格等。它看起來是這樣的:

[ServiceContract] 
public class MyService 
{ 
    [OperationContract] 
    [WebGet(UriTemplate="{id}")] 
    public Stream GetDocuments(int id) 
    { 
     WebOperationContext.Current.OutgoingResponse.ContentType = GetContentType(); 
     Stream result = CreateTemporaryStream(); 
     /* Write your data in the correct format */ 
     return result; 
    } 
} 

你幾乎可以返回任何你希望的格式。客戶端顯然必須能夠解析流並從響應中提取單個流。

+0

感謝Werner的洞察力,這實際上是我用來返回圖片的方法。儘管我真正要問的是如何寫入響應流,而不必先從函數返回來發送響應,這是實現multipart/x-mixed-replace消息所需要的。謝謝! – Blackey 2012-03-09 15:51:27

+0

我誤解了如何使用「multipart/x-mixed-replace」。你最好寫一個HttpModule來處理這些類型的請求。 – bloudraak 2012-03-09 18:21:34