【问题标题】:Difference between serverWaitTime and operationTimeout in Azure Service Bus SDK/NuGetAzure 服务总线 SDK/NuGet 中的 serverWaitTime 和 operationTimeout 之间的区别
【发布时间】:2018-03-30 16:01:47
【问题描述】:

我试图了解以下之间的区别:

  1. serverWaitTime(在 ISessionClient.AcceptMessageSessionAsync(String, TimeSpan) 中)( https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.isessionclient.acceptmessagesessionasync?view=azure-dotnet#Microsoft_Azure_ServiceBus_ISessionClient_AcceptMessageSessionAsync_System_String_System_TimeSpan_) 和
  2. Azure Service Bus SDK 中的 operationTimeout(在 IMessageReceiver.ReceiveAsync(TimeSpan) 中)(https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.core.imessagereceiver.receiveasync?view=azure-dotnet#Microsoft_Azure_ServiceBus_Core_IMessageReceiver_ReceiveAsync_System_TimeSpan_)。

文档提供了以下两个方面的文字:

  1. serverWaitTime:调用应等待获取下一个会话的时间量。
  2. operationTimeout:客户端在超时之前等待接收消息的时间跨度。

在我的实验代码中,ISessionClient.AcceptMessageSessionAsync(session, serverWaitTime) 似乎会立即返回(即使正在创建大量会话),因为 IMessageReceiver.ReceiveAsync 肯定会在超时之前等待提供的 operationTimeout会话不可用。

因此我想知道 serverWaitTime 是否意味着我不理解的其他内容。

  1. 是否都只与客户端超时有关?
  2. 如果这是真的,那为什么要调用一个 serverWaitTime 和 operationTimeout?

【问题讨论】:

    标签: c# azure azureservicebus azure-servicebus-queues azure-servicebus-topics


    【解决方案1】:

    serverWaitTimeoperationTimeout 参数代表相同的概念 - 客户端放弃之前的等待时间。

    至于它们叫法不同的原因,这是要在issue tarcker中提出的团队的问题。

    【讨论】:

      【解决方案2】:

      会话客户端有操作超时,让我们为所有会话定义一个超时时间。

      通过 AcceptMessageSessionAsync 的每个单独会话都可以通过提供服务器等待时间来覆盖该值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-11
        • 1970-01-01
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        相关资源
        最近更新 更多