Gets or sets the maximum size for a buffer that receives messages from the channel.
Assembly: Microsoft.ServiceBus (in Microsoft.ServiceBus.dll)
There is not sufficient memory in the buffer to store the message while it is processed, more memory must be allocated from the CLR heap, which increases the garbage collection overhead. Extensive allocation from the CLR garbage heap is an indication that the message buffer size is too small and that performance can be improved with a larger allocation.
The limitations on buffer size set here are for optimizing the performance of message exchanges. If a message exceeds the maximum value set for the buffer, it is not dropped. Instead, more memory is requested from the CLR heap and this incurs more garbage collection overhead than using the buffers.
The settings for and MaxReceivedMessageSize, are local behavioral settings. This means that they are not transmitted to other endpoints in metadata. If you generate a proxy to a service with a maximum message size of 2GB from metadata, the proxy still has a default value of 64K. This leaves control of the appropriate bounds for message and message buffer size in the scope of local administrators.
, MaxBufferPoolSize, ReaderQuotas and MaxReceivedMessageSize are often used together to assist with memory management and provide a potential defense against Denial-of-Service (DoS) attacks. In this context, these members are very similar to their WCF counterparts. For more information, see the Security Considerations for Data topic in the WCF documentation.