MessageQueue.BeginReceive TimeSpan超时

时间:2016-02-22 04:41:09

标签: .net msmq

试图找出主题的最大值以及默认值

似乎无法在任何地方找到此信息

2 个答案:

答案 0 :(得分:1)

即使是一个时间跨度,最大超时时间也是UInt32.MaxValue,它是使用TimeSpan.FromMilliseconds(UInt32.MaxValue)或49.7天来设置的。看着https://referencesource.microsoft.com/#System.Messaging/System/Messaging/MessageQueue.cs

        {
            long timeoutInMilliseconds = (long)timeout.TotalMilliseconds;
            if (timeoutInMilliseconds < 0 || timeoutInMilliseconds > UInt32.MaxValue)
                throw new ArgumentException(Res.GetString(Res.InvalidParameter, "timeout", timeout.ToString()));```
 

答案 1 :(得分:0)

MessageQueue.BeginReceive的默认值是“no timeout”。

MessageQueue.BeginReceive(TimeSpan)的最大值取决于您使用的TimeSpan。例如,使用'ticks'TimeSpan意味着最多922,337,203,685.5秒(将近30,000年)。