2011-09-25 48 views
0

Hihi全部,如何從WCF Restful json webservice返回流和文件長度?

我能夠從我的WCF restful json webservice返回流,一切工作正常。但是,當我將流與另一條數據(包裝到自定義類中)混合在一起時,在從客戶端使用Web服務時,會給出「現有連接被遠程主機強行關閉」的錯誤消息。

任何建議我怎麼能實現上述?我的web服務需要的是允許下載帶有文件長度的文件,作爲客戶端驗證的附加信息。

在此先感謝! :)

回答

2

在WCF服務合同中使用Stream時有各種限制 - 根據this MDSN link,在流式傳輸時只能使用一個(輸出)參數或返回值(類型爲流)。

在另一個MSDN documentation(無論如何,這是一個很好的資源,如果你想使用WCF流式傳輸大數據),它暗示可以通過使用消息合約來合併流和一些輸入/輸出數據。 例如,請參閱this blog post,其中作者使用明確的消息合約來上傳文件名&文件數據。你必須從下載的角度來做類似的事情。

最後,如果什麼都不起作用,那麼您可以隨時將文件長度作爲自定義(或標準內容長度)HTTP標頭進行推送。如果您在IIS中託管,則啓用ASP.NET兼容性並使用HttpContext.Current.Response添加您的自定義標頭。