public async ValueTask StartAsync(IConsumerDefinition definition, IConsumerPipelineFactory pipelineFactory) { var topologyDefinition = _topology.BuildFrom(definition); _processor = await _client.BuildProcessorAsync(topologyDefinition); _sender = await _client.BuildSenderAsync(topologyDefinition); _processor.ProcessMessageAsync += async e => { var message = new DefaultServiceBusMessage(e.Message.Body); var context = new DefaultConsumerContext(message, definition); var azureContext = new AzureConsumerContext(context, e, _bus, _sender); var pipeline = pipelineFactory.Create(null); await pipeline.Execute(azureContext); }; _processor.ProcessErrorAsync += e => { _logger.LogError(e.Exception, e.ToString()); return(Task.CompletedTask); }; await _processor.StartProcessingAsync(); }
public async ValueTask StartAsync(IPublisherDefinition definition) { var topology = _topologyBuilder.BuildFrom(definition); _sender = await _clientFactory.BuildSenderAsync(topology); }