You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The latest version of the msmq transport requires a msmq.DelayedDelivery setting to be provided in order to make use of features that use delayed messages like
Delayed sends (e.g. sendOptions.DelayDeliveryWith or sendOptions.DoNotDeliverBefore)
Delayed retries (enabled by default)
Saga timeouts via RequestTimeout<T>
However, there is nothing forcing users to configure delayed delivery when making use of these delayed features. This will end in unhelpful exceptions at runtime when sending delayed messages, attempting to schedule delayed retries or when requesting saga timeouts:
System.ArgumentNullException: 'Value cannot be null. Parameter name: address'
System.ArgumentNullException
HResult=0x80004003
Message=Value cannot be null.
Parameter name: address
Source=NServiceBus.Transport.Msmq
StackTrace:
at NServiceBus.Transport.Msmq.MsmqAddress.Parse(String address)
at NServiceBus.Transport.Msmq.MsmqMessageDispatcher.SendToDelayedDeliveryQueue(TransportTransaction transaction, UnicastTransportOperation transportOperation)
at NServiceBus.Transport.Msmq.MsmqMessageDispatcher.Dispatch(TransportOperations outgoingMessages, TransportTransaction transaction, CancellationToken cancellationToken)
The endpoint needs to be configured with a delayed delivery storage as documented here or all usages of delayed delivery have to be avoided/disabled, e.g.
The latest version of the msmq transport requires a
msmq.DelayedDelivery
setting to be provided in order to make use of features that use delayed messages likesendOptions.DelayDeliveryWith
orsendOptions.DoNotDeliverBefore
)RequestTimeout<T>
However, there is nothing forcing users to configure delayed delivery when making use of these delayed features. This will end in unhelpful exceptions at runtime when sending delayed messages, attempting to schedule delayed retries or when requesting saga timeouts:
System.ArgumentNullException: 'Value cannot be null. Parameter name: address'
The endpoint needs to be configured with a delayed delivery storage as documented here or all usages of delayed delivery have to be avoided/disabled, e.g.
endpointConfiguration.Recoverability().Delayed(d => d.NumberOfRetries(0));
The text was updated successfully, but these errors were encountered: