2

这很奇怪,我不确定,但前一段时间我记得我做了这样的事情

SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(this._connectionString, topicName, subscription);
BrokeredMessage message = Cient.Receive(TimeSpan.MaxValue);

并且天的调用最多在一分钟内返回空值或消息

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

我也知道 Timespan.MaxValue 是我要等待的值,但我真的需要知道我是否放置了 maxvalue (很多时间不要等到它完成并发现它),Azure 什么时候会得到回报消息的

4

1 回答 1

1

从 API 的角度来看,您可以传入任何 TimeSpan 值,它将被接受。即使没有消息,它也会比您指定的更早返回的原因可能是网络故障、服务端更新等。

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

于 2013-07-31T06:10:09.523 回答