WSDualHttpBinding.MaxBufferPoolSize 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置可为消息缓冲区管理器(该管理器在采用此绑定配置的终结点接收消息)分配的最大内存量(以字节为单位)。
public:
property long MaxBufferPoolSize { long get(); void set(long value); };
public long MaxBufferPoolSize { get; set; }
member this.MaxBufferPoolSize : int64 with get, set
Public Property MaxBufferPoolSize As Long
属性值
配置了此绑定的终结点所使用的缓冲池的最大大小(以字节为单位)。 默认值为524288字节。
示例
下面的示例演示如何设置 MaxBufferPoolSize
。
binding.MaxBufferPoolSize = 900000;
binding.MaxBufferPoolSize = 900000
注解
通过使用缓冲池,BufferManager 将使用缓冲区的开销降至最低。 当消息离开通道时,服务需要使用缓冲区来处理这些消息。 如果缓冲池中的内存不足,无法处理消息负载,则 BufferManager 必须从 CLR 堆分配更多内存,而这会增加垃圾回收的系统开销。 从 CLR 垃圾堆进行大量分配表明缓冲池太小,可以通过提高 MaxBufferPoolSize 限制来实现更大的内存分配,从而提高性能。
此处对缓冲区大小所设置的限制是为了优化消息交换的性能。 如果消息超过为缓冲区设置的最大值,则不会丢弃该消息。 相反,如果从 CLR 堆请求更多的内存,这将带来比使用缓冲区更多的垃圾回收系统开销。