【发布时间】:2018-03-30 16:01:47
【问题描述】:
我试图了解以下之间的区别:
- 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_) 和
- 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_)。
文档提供了以下两个方面的文字:
- serverWaitTime:调用应等待获取下一个会话的时间量。
- operationTimeout:客户端在超时之前等待接收消息的时间跨度。
在我的实验代码中,ISessionClient.AcceptMessageSessionAsync(session, serverWaitTime) 似乎会立即返回(即使正在创建大量会话),因为 IMessageReceiver.ReceiveAsync 肯定会在超时之前等待提供的 operationTimeout会话不可用。
因此我想知道 serverWaitTime 是否意味着我不理解的其他内容。
- 是否都只与客户端超时有关?
- 如果这是真的,那为什么要调用一个 serverWaitTime 和 operationTimeout?
【问题讨论】:
标签: c# azure azureservicebus azure-servicebus-queues azure-servicebus-topics