Tôi nhận thấy rằng 2147483647 có vẻ là một lựa chọn phổ biến cho maxReceivedMessageSize nhưng đây có phải là giới hạn không?Kích thước tối đa mà maxReceivedMessageSize có thể được đặt thành một NetNamedPipeBinding là gì?
Trả lời
Nope, giới hạn là Int64.MaxValue1 đó là: 9223372036854775807
MaxReceivedMessageSize
và MaxBufferSize
phải cùng một giá trị và MaxBufferSize
là Int32
.
Không đúng - MaxBufferSize chỉ được sử dụng nếu bạn đang sử dụng Buffering. Nếu bạn đang sử dụng Streaming, thì nó sẽ bị bỏ qua. Đây là lý do tại sao MaxReceivedMessageSize là Int64 và có thể khác với MaxBufferSize. –
Bạn có nghĩa là maxBufferPoolSize và maxReceivedMessageSize không? – Gary
BasicHttpBinding MaxBufferSize là Int32, nhưng MaxReceivedMessageSize là Int64. http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.maxbuffersize%28v=vs.100%29.aspx –
MaxMessageReceivedSize trong basicHttpBinding dường như là một int32 - đặt nó trên giá trị tối đa của một kết quả int32 trong:
nhà máy này đệm thông điệp, vì vậy kích thước thông điệp phải nằm trong phạm vi của một giá trị số nguyên. Tên Parameter: bindingElement.MaxReceivedMessageSize
Không, đó là Int64 (dài): http://msdn.microsoft. com/en-us/library/system.servicemodel.basichttpbinding.maxreceivedmessagesize% 28v = vs.100% 29.ASPX –
@ D-Money - Tôi đoán nó phụ thuộc vào máy chủ ... – Chad
Sử dụng các giá trị mặc định cho kích thước tối đa vì vậy người ta không béo ngón tay một giá trị:
binding.MaxBufferSize = int.MaxValue;
binding.MaxReceivedMessageSize = long.MaxValue;
Làm thế nào để bạn làm điều này trong web.config? – Zesty
Mặt khác, bạn có thể muốn xem xét rằng cài đặt nó để 2 GB kích thước tin nhắn có nghĩa là máy chủ WCF của bạn sẽ có khả năng phải đối phó với một số tin nhắn lên đến 2 GB trong kích thước cùng một lúc - nó có thể làm điều đó ?? Marc –
Đó là nếu bạn có một máy chủ 32bit ... – Chad