BasicHttpBinding.MaxBufferSize 属性

定义

获取或设置从通道接收消息的缓冲区的最大大小(以字节为单位)。

public:
 property int MaxBufferSize { int get(); void set(int value); };
public int MaxBufferSize { get; set; }
member this.MaxBufferSize : int with get, set
Public Property MaxBufferSize As Integer

属性值

为配置此绑定的终结点处理消息时存储消息的最大大小(以字节为单位)。 默认值为 65,536 字节。

示例

以下示例将 MaxBufferSize 设置为 1,000,000 字节。

BasicHttpBinding binding = new BasicHttpBinding();

// set to one million
binding.MaxBufferSize = 1000000;

也可以在配置文件中设置此属性的值。

注解

如果在处理消息时缓冲区中没有足够的内存来存储消息,则必须从 CLR 堆分配更多内存,这会增加垃圾回收开销。 CLR 垃圾堆的广泛分配表明消息缓冲区大小太小,并且可以通过更大的分配来改进性能。

MaxBufferSize 属性的值及其重要性不同,具体取决于消息是在接收消息的通道上缓冲还是流式传输:

此处设置的缓冲区大小限制是优化消息交换的性能。 如果消息超出为缓冲区设置的最大值,则不会删除它。 相反,从 CLR 堆请求更多的内存,这比使用缓冲区会产生更多的垃圾回收开销。

注释

MaxBufferSize 和 MaxReceivedMessageSize 的设置是本地行为设置。 这意味着它们不会传输到元数据中的其他终结点。 如果从元数据生成最大消息大小为 2GB 的服务的代理,则代理的默认值仍为 64K。 这会控制本地管理员范围内的消息和消息缓冲区大小的适当边界。

适用于