你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
MessageReceiver.PrefetchCount 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在应用程序使用 Receive 请求消息时和之前,预提取旨在使消息随时可供本地检索,从而加速消息流。 设置非零值预提取预提取消息数。 将值设置为零会关闭预提取。 默认值为 0。
public int PrefetchCount { get; set; }
member this.PrefetchCount : int with get, set
Public Property PrefetchCount As Integer
属性值
实现
注解
启用预提取后,接收方将悄悄地获取比应用程序立即要求的消息多,达到 PrefetchCount 限制。 因此,单个初始 Receive/ReceiveAsync 调用将获取立即使用的消息,该消息将在可用时立即返回,客户端将继续获取更多消息以填充后台的预提取缓冲区。
虽然消息在预提取缓冲区中可用,但任何后续 ReceiveAsync 调用都将立即从缓冲区得到满足,并且缓冲区会在空间可用时在后台进行补充。如果没有可用于传递的消息,则接收操作将耗尽缓冲区,然后按预期等待或阻止。
预提取也适用于 RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) API。
汇报此值会在下一次对服务进行接收调用时生效。