我需要從WCF服務器返回一個大字節數組。從WCF返回大字節數組 - 內存問題
問題是 - 爲了返回這樣一個數組 - 我需要創建一個 - 當創建這樣一個數組時 - 它會自動進入大對象堆 - 這意味着當服務受到壓力時 - 我得到內存使用和管理中的一個實際問題。
我想過使用非託管內存來避免使用大的託管字節數組 - 但仍然如何從WCF服務返回這樣的數組?
是否有任何方式從WCF服務返回字節的「流」,其中不包括實際創建託管字節數組?我知道WCF本身使用一個BufferManager--所以如果它只是讀取我的非託管內存並在發送之前使用它的緩衝區管理來存儲它 - 我希望不會有問題。
您可以嘗試將其寫入文件並讓客戶端下載文件? – ryadavilli
是的,你可以返回'Stream'。你爲什麼不試試。 –
ryadavilli - 恐怕寫入和讀取文件是1.在某些情況下(數據敏感時)不安全,並且2.需要性能差的IO –