/// <summary> /// 启动 /// </summary> public void RunAsync() { var consumingRunConfig = new ConsumingRunAsyncConfig { ReceivedAsync = ReceivedAsync, RegisteredAsync = RegisteredAsync, UnregisteredAsync = UnregisteredAsync, ShutdownAsync = ShutdownAsync }; _consumingService.RunServerAsync(consumingRunConfig); }
public void RunServerAsync(ConsumingRunAsyncConfig consumingRunConfig) { for (var i = 0; i < _config.ChannelNumber; i++) { IModel channel = i == 0 ? GetChannel(_connection, _config.ExchangeConfig, _config.QueueConfig) : GetChannel(_connection, _config.QueueConfig); EventingBasicConsumer consumer = GetConsumer(channel); consumer.Registered += async(sender, e) => { if (consumingRunConfig.RegisteredAsync == null) { return; } await consumingRunConfig.RegisteredAsync(channel, sender, e, _config); }; consumer.Received += async(sender, e) => { if (consumingRunConfig.ReceivedAsync == null) { return; } await consumingRunConfig.ReceivedAsync(channel, e.Body, sender, e, _config); }; consumer.Unregistered += async(sender, e) => { if (consumingRunConfig.UnregisteredAsync == null) { return; } await consumingRunConfig.UnregisteredAsync(channel, sender, e, _config); }; consumer.Shutdown += async(sender, e) => { if (consumingRunConfig.ShutdownAsync == null) { return; } await consumingRunConfig.ShutdownAsync(channel, sender, e, _config); }; } }