Ejemplo n.º 1
0
        async Task Execute(BehaviorContext <TInstance> context)
        {
            ConsumeEventContext <TInstance> consumeContext = context.CreateConsumeContext();

            var message = _messageFactory?.Invoke(consumeContext) ?? await _asyncMessageFactory(consumeContext).ConfigureAwait(false);

            IPipe <SendContext <TMessage> > sendPipe = _contextCallback != null
                ? Pipe.Execute <SendContext <TMessage> >(sendContext =>
            {
                _contextCallback(consumeContext, sendContext);
            })
                : Pipe.Empty <SendContext <TMessage> >();

            if (_destinationAddressProvider != null)
            {
                var destinationAddress = _destinationAddressProvider(consumeContext);

                var endpoint = await consumeContext.GetSendEndpoint(destinationAddress).ConfigureAwait(false);


                await endpoint.Send(message, sendPipe).ConfigureAwait(false);
            }
            else
            {
                await consumeContext.Send(message, sendPipe).ConfigureAwait(false);
            }
        }
Ejemplo n.º 2
0
        async Task Execute(BehaviorContext <TInstance> context)
        {
            ConsumeEventContext <TInstance> consumeContext = context.CreateConsumeContext();

            var message = _messageFactory(consumeContext);

            var endpoint = await consumeContext.GetSendEndpoint(_destinationAddress).ConfigureAwait(false);

            await endpoint.Send(message, _sendPipe).ConfigureAwait(false);
        }
Ejemplo n.º 3
0
        protected virtual async Task SendCommand(ConsumeEventContext <FutureState, TRequest> context, IPipe <SendContext <TCommand> > pipe)
        {
            var command = await CreateCommand(context).ConfigureAwait(false);

            if (DestinationAddress != null)
            {
                var endpoint = await context.GetSendEndpoint(DestinationAddress).ConfigureAwait(false);

                await endpoint.Send(command, pipe).ConfigureAwait(false);
            }
            else
            {
                await context.Publish(command, pipe).ConfigureAwait(false);
            }
        }
Ejemplo n.º 4
0
        async Task Execute(BehaviorContext <TInstance> context)
        {
            ConsumeEventContext <TInstance> consumeContext = context.CreateConsumeContext();

            var message = _messageFactory?.Invoke(consumeContext) ?? await _asyncMessageFactory(consumeContext).ConfigureAwait(false);

            if (_destinationAddressProvider != null)
            {
                var destinationAddress = _destinationAddressProvider(consumeContext);

                var endpoint = await consumeContext.GetSendEndpoint(destinationAddress).ConfigureAwait(false);

                await endpoint.Send(message, _sendPipe).ConfigureAwait(false);
            }
            else
            {
                await consumeContext.Send(message, _sendPipe).ConfigureAwait(false);
            }
        }