我正在使用WCF實現一個大型文件流應用程序。在WCF應用程序中設置MaxReceivedMessageSize和MaxBufferSize的問題
我有一個問題,當我設置的配置MaxReceivedMessageSize和MAXBUFFERSIZE。當這些參數相同時系統工作正常。但是,當我選擇不同的值時,它會給出錯誤消息,
對於TransferMode.Buffered,MaxReceivedMessageSize和MaxBufferSize必須是相同的值。
但我在http://msdn.microsoft.com/en-us/library/ms733742.aspx與信息混淆如下,
例如,假設您的服務必須接收文件多達4 GB的大小 ,並將它們存儲在本地磁盤上。假設您的內存 受到限制,一次只能緩存64KB的數據,即 。然後,您將MaxReceivedMessageSize設置爲4 GB,將MaxBufferSize設置爲64 KB。另外,在您的服務實現中,必須確保您只讀取來自64-KB數據塊的傳入流,並且 在前一個數據塊寫入 磁盤之前不讀取下一個數據塊,並從內存中丟棄至4 GB和MaxBufferSize爲64 KB。 此外,在您的服務實現中,您必須確保僅從64 KB塊中的傳入流中讀取 ,並且在前一個塊已寫入磁盤並從內存中丟棄 之前不讀取下一個 塊。
有人可以解釋這件事的原因嗎?