public static IAutobusBuilder UseRabbitMQTransport( this IAutobusBuilder autobusBuilder, IConfiguration configuration) => autobusBuilder.UseRabbitMQTransport(builder => { configuration = configuration.GetSection("RabbitMQ"); builder.ConfigureConnectionFactory(connectionFactory => { connectionFactory.HostName = configuration.GetValue("HostName", "localhost"); connectionFactory.Port = configuration.GetValue("Port", 5672); connectionFactory.VirtualHost = configuration.GetValue("VirtualHost", ConnectionFactory.DefaultVHost); connectionFactory.UserName = configuration.GetValue("UserName", ConnectionFactory.DefaultUser); connectionFactory.Password = configuration.GetValue("Password", ConnectionFactory.DefaultPass); }); var prefetchSize = configuration.GetValue("Qos:PrefetchSize", 0U); var prefetchCount = configuration.GetValue <ushort>("Qos:PrefetchCount", 0); builder.ConfigureQos(prefetchSize, prefetchCount); if (configuration.GetValue("UseConsistentHashing", false)) { builder.UseConsistentHashing(); } });
public static IAutobusBuilder UseSerilog(this IAutobusBuilder builder) => builder.UseLogger(new AutobusSerilogLogger());
public static IAutobusBuilder UseRabbitMQTransport(this IAutobusBuilder builder, Action <RabbitMQTransportBuilder> onBuild) => builder.UseTransport(onBuild);
public static IAutobusBuilder UseJsonSerialization(this IAutobusBuilder builder) => builder.UseSerializer <JsonSerializationProvider>();
public static IAutobusBuilder UseBinaryRecordsSerialization(this IAutobusBuilder builder) => builder.UseSerializer <BinaryRecordsSerializationProvider>();