WebHttpBinding的流传输模式让我头大了
生活随笔
收集整理的這篇文章主要介紹了
WebHttpBinding的流传输模式让我头大了
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
webHttpBinding支持流傳輸和緩存模式2種,如果要提供文件下載,肯定是要選擇流傳輸模式的,不然文件要全部加載到內存后才會發送出去,不但占內存開銷大,還影響了發送響應的速度。問題是流傳輸下面,自動使用了Transfer-Encoding:chunked的方式,這種方式將不告知客戶端文件長度,即使我服務器設置消息頭也沒用,客戶端就是得不到長度,導致了客戶端以為我服務端不支持斷點續傳,甚至多線程下載都不能使用,除非自己開發一個下載軟件,反正傳統的下載軟件都不支持,唯獨NetTransport還能嘗試在不知道是否能續傳的情況下,發送續傳指令,算是最人性化的軟件了。
想來想去,只有一個方法可以考慮了,就是改造?webHttpBinding 的緩存模式,緩存模式是傳統的http響應,各種http頭都可以設置,自然斷點續傳,多線程傳輸都可以使用,所需解決的問題是消息的寫入,不能寫緩存,而是實時從流中獲取(如果返回的是流對象)。
研究方向確定,接下來看能否成功自定義一個?webHttpBinding 類似的綁定類出來了。待續……
轉載于:https://www.cnblogs.com/qldsrx/archive/2012/03/22/2411537.html
總結
以上是生活随笔為你收集整理的WebHttpBinding的流传输模式让我头大了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扒取的国外的后台管理系统的界面
- 下一篇: Directx11教程(18) D3D1