我正在尝试使用 NServiceBus 中的 MSMQTransportProtocol 设置消息到达队列的超时。
我读过这个:http ://docs.particular.net/nservicebus/msmq/connection-strings并尝试实现timeToReachQueue
属性(根据我的理解)。
我所做的是在TimeToReachQueue
我的消息中添加一个属性:
public class PlaceOrder : IMessage
{
[MessagingDescription("MsgTimeToReachQueue")]
public TimeSpan TimeToReachQueue { get; set; }
public Guid Id { get; set; }
public string Product { get; set; }
}
在发送消息的客户端中,我将以下内容放入app.config
:
<connectionStrings>
<add name="NServiceBus/Transport"
connectionString="deadLetter=true;
journal=true;
useTransactionalQueues=true;
cacheSendConnection=true;
timeToReachQueue=01:01:01"/>
</connectionStrings>
我尝试了不同的时间戳值 - 基本上我试图让消息到达一个不可能的时间 - 我故意希望它超时。
但是我在连接字符串中设置的任何值似乎都不适用。消息总是成功到达,如果我timeToReachQueue
在调试中检查属性,我会看到所有值都为零 - 而不是我尝试设置的值。
我什至在我的 EndpointConfig 中尝试了以下操作:
configuration.UseTransport<MsmqTransport>().ConnectionStringName("NServiceBus/Transport");
我在这里想念什么?