public static void ForwardUsingOriginalContext(this ISendContext target, IConsumeContext source) { target.SetRequestId(source.RequestId); target.SetConversationId(source.ConversationId); target.SetCorrelationId(source.CorrelationId); target.SetSourceAddress(source.SourceAddress); target.SetResponseAddress(source.ResponseAddress); target.SetFaultAddress(source.FaultAddress); target.SetNetwork(source.Network); if (source.ExpirationTime.HasValue) { target.SetExpirationTime(source.ExpirationTime.Value); } target.SetRetryCount(source.RetryCount); foreach (var header in source.Headers) { target.SetHeader(header.Key, header.Value); } var inputAddress = source.InputAddress != null ? source.InputAddress.ToString() : source.DestinationAddress != null ? source.DestinationAddress.ToString() : null; if (!string.IsNullOrEmpty(inputAddress)) { target.SetHeader("mt.forwarder.uri", source.DestinationAddress.ToString()); } }
public static void ForwardUsingOriginalContext<T>(this ISendContext target, IConsumeContext<T> source) where T : class { target.SetRequestId(source.RequestId); target.SetConversationId(source.ConversationId); target.SetCorrelationId(source.CorrelationId); target.SetResponseAddress(source.ResponseAddress); target.SetFaultAddress(source.FaultAddress); target.SetNetwork(source.Network); if (source.ExpirationTime.HasValue) target.SetExpirationTime(source.ExpirationTime.Value); target.SetRetryCount(source.RetryCount); foreach (var header in source.Headers) { target.SetHeader(header.Key, header.Value); } }
public static void ExpiresAt <T>(this ISendContext <T> context, DateTime value) where T : class { context.SetExpirationTime(value); }
/// <summary> /// Sets the message to expire after the specified TimeSpan. /// </summary> /// <param name="context">The send context of the message</param> /// <param name="value">The span of time until the message expires</param> public static void ExpiresIn <T>(this ISendContext <T> context, TimeSpan value) where T : class { context.SetExpirationTime(DateTime.UtcNow + value); }