Example #1
0
        private static async Task DispatchCommand <TCommand>(
            ICommandHandlerResolver handlerResolver,
            Guid commandId,
            TCommand command,
            Predispatch predispatch,
            IEnumerable <KeyValuePair <string, IEnumerable <string> > > requestHeaders,
            CancellationToken cancellationToken)
            where TCommand : class
        {
            var commandMessage = new CommandMessage <TCommand>(commandId, command);

            predispatch(commandMessage.Metadata, requestHeaders);
            await handlerResolver.Resolve <TCommand>()(commandMessage, cancellationToken);
        }
Example #2
0
        public CommandHandlerController(CommandHandlingSettings settings)
        {
            _settings = settings;

            var temp = _settings.OnPredispatch ?? ((_, __) => { });

            _predispatch = (metadata, headers) =>
            {
                metadata[CommandMessageExtensions.UserKey] = (User as ClaimsPrincipal) ?? new ClaimsPrincipal(new ClaimsIdentity());
                try
                {
                    temp(metadata, headers);
                }
                catch (Exception ex)
                {
                    Logger.ErrorException("Exception occured invoking the Predispatch hook", ex);
                }
            };
        }
        public CommandHandlerController(
            CommandHandlingSettings settings,
            RecyclableMemoryStreamManager recyclableMemoryStreamManager)
        {
            _settings = settings;
            _recyclableMemoryStreamManager = recyclableMemoryStreamManager;

            var temp = _settings.OnPredispatch ?? ((_, __) => { });
            _predispatch = (metadata, headers) =>
            {
                metadata[CommandMessageExtensions.UserKey] = (User as ClaimsPrincipal) ?? new ClaimsPrincipal(new ClaimsIdentity());
                try
                {
                    temp(metadata, headers);
                }
                catch(Exception ex)
                {
                    s_logger.ErrorException("Exception occured invoking the Predispatch hook", ex);
                }
            };
        }