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); }
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); } }; }