Exemplo n.º 1
0
        public async Task Defer(TimeSpan delay, Dictionary <string, string> optionalAdditionalHeaders = null)
        {
            var transportMessage      = GetCloneOfCurrentTransportMessage(optionalAdditionalHeaders);
            var timeoutManagerAddress = _rebusBus.GetTimeoutManagerAddress();

            transportMessage.SetDeferHeaders(_rebusTime.Now + delay, _rebusBus._transport.Address);

            await _rebusBus.SendTransportMessage(timeoutManagerAddress, transportMessage);
        }
Exemplo n.º 2
0
        public Task Defer(string destinationAddress, TimeSpan delay, object explicitlyRoutedMessage, IDictionary <string, string> optionalHeaders = null)
        {
            var logicalMessage = CreateMessage(explicitlyRoutedMessage, Operation.Defer, optionalHeaders);

            logicalMessage.SetDeferHeaders(_rebusTime.Now + delay, destinationAddress);

            var timeoutManagerAddress = _rebusBus.GetTimeoutManagerAddress();

            return(_rebusBus.InnerSend(new[] { timeoutManagerAddress }, logicalMessage));
        }