1
目前我正在使用默認緩衝傳輸模式的NetTcpBinding。我試圖確定什麼是我的請求的最佳解決方案,它構建了一個最終成爲大量數據的類。如何獲取大數據WCF - 流或緩衝?
基本上我有一個請求進入WCF獲取一堆報告信息並將其返回給客戶端。只要這是在64k MaxMessageRecievedSize下,這很好,但如果它結束,那麼我最終會有一個異常。
我應該切換到Streaming TransferMode,然後將文件傳輸回客戶端,因爲數據可能很少或很大?或者可以增加MaxMessageRecievedSize?增加MaxMessageRecievedSize似乎不是個好主意,因爲如果我們有多個連接到服務的所有獲取大量數據,我們可能會遇到內存問題?
有關如何實現這一點的任何想法?
討論這個文件有多大是給你一個大消息?現在64k並不是那麼大。除非您的服務器端響應速度非常慢,併發流量較高或ram水平非常低,否則我不會擔心這種大小的消息(或在合理範圍內增加該消息)。 –
理想情況下,該服務將運行的機器將至少有4GB。但是,我試圖確保我們可以從一開始就支持小型和超大型文件。那麼今天的報告大小可能是64kb或65mb,但無論哪一天它們都會變成5gb +?它似乎是唯一的答案是流,以便大小從來不是一個因素... – Tada
使用流式傳輸更大的文件。請記住,「大」是相對的,但我會說任何超過10 MB的東西都很大。 – Bernard