BasicHttpBinding.MaxReceivedMessageSize Property

Definition

Gets or sets the maximum size, in bytes, for a message that can be received on a channel configured with this binding.

public:
 property long MaxReceivedMessageSize { long get(); void set(long value); };
public long MaxReceivedMessageSize { get; set; }
member this.MaxReceivedMessageSize : int64 with get, set
Public Property MaxReceivedMessageSize As Long

Property Value

The maximum size, in bytes, for a message that is processed by the binding. The default value is 65,536 bytes.

Exceptions

The value is less than zero.

Examples

The following example sets MaxReceivedMessageSize to 1,000,000 bytes.

BasicHttpBinding binding = new BasicHttpBinding();

binding.MaxReceivedMessageSize = 1000000;

The value of this property can also be set in the configuration file.

<configuration>
  <system.serviceModel>

    <bindings>
      <basicHttpBinding>
        <binding name="Binding1"
                 maxReceivedMessageSize = "1000000">
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>

  </system.serviceModel>

</configuration>

Remarks

The size of the messages that can be received on the wire by services using the BasicHttpBinding is bounded by the amount of memory allocated for each message. This bound on message size is intended to limit exposure to DoS-style attacks.

There is also a MaxBufferSize property on the BasicHttpBinding:

For buffered transports, (TransferMode set to Buffered). This value is always equal to that specified by the MaxReceivedMessageSize.

For streamed transports (TransferMode set to Streamed), only the SOAP headers must be buffered to generate the message. The body can be streamed in on-demand. In this case, MaxBufferSize is less than or equal to MaxReceivedMessageSize, where MaxReceivedMessageSize bounds the size of the overall message (headers and body) and MaxBufferSize bounds the size of the SOAP headers.

Applies to