这是Windows Azure服务总线上订阅客户端上的Client.Receive的最长时间

这是Windows Azure服务总线上订阅客户端上的Client.Receive的最长时间,azure,azureservicebus,azure-servicebusrelay,Azure,Azureservicebus,Azure Servicebusrelay,这很奇怪,我也不确定,但不久前我记得我做过类似的事情 SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(this._connectionString, topicName, subscription); BrokeredMessage message = Cient.Receive(TimeSpan.MaxValue); days在最长一分钟内返回的呼叫为null或消息 但具体的问题是,我想知道默

这很奇怪,我也不确定,但不久前我记得我做过类似的事情

SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(this._connectionString, topicName, subscription);
BrokeredMessage message = Cient.Receive(TimeSpan.MaxValue);
days在最长一分钟内返回的呼叫为null或消息

但具体的问题是,我想知道默认情况下服务器响应可以等待的最大时间(服务总线),直到它返回一条消息,即使它为null


另外,我知道Timespan.MaxValue是我要指示的等待值,但我真的需要知道我是否放置了MaxValue(很多时间不需要等到它完成并发现它),Azure何时会从API角度返回消息,您可以传入任何Timespan值,它将被接受。即使没有消息,它也会比您指定的时间更早返回的原因可能是网络故障、服务端更新等

您决定放在那里的时间应该基于您期望消息的频率,以及您希望控制返回到能够干净地关闭客户端进程的时间。假设您希望每分钟发送一次消息,然后将超时设置为5分钟并返回空值,则可能表明系统不正常。也就是说,你正在关闭服务,你不想调用下一个接收,希望所有待处理的都完成,这样你就可以将超时时间限制在几分钟内