/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Testing/Implementations/InMemoryTestHarnessBusInstance.cs
62 строки
2 KB
denys.kozhevnikov
Separate scoped ConsumeContext through components
23 май 2023, 23:32
23 май 2023, 23:32
e679624
Код
Авторство
О чём код?
namespace MassTransit.Testing.Implementations { using System; using Configuration; using Transports; public class InMemoryTestHarnessBusInstance : IBusInstance { readonly IBusRegistrationContext _busRegistrationContext; public InMemoryTestHarnessBusInstance(InMemoryTestHarness testHarness, IBusRegistrationContext busRegistrationContext) { _busRegistrationContext = busRegistrationContext; Harness = testHarness; } public InMemoryTestHarness Harness { get; } public string Name => "masstransit-bus"; public Type InstanceType => typeof(IBus); public IBus Bus => Harness.Bus; public IBusControl BusControl => Harness.BusControl; public IHostConfiguration HostConfiguration => Harness.HostConfiguration; public void Connect<TRider>(IRiderControl riderControl) where TRider : IRider { throw new NotSupportedException(); } public TRider GetRider<TRider>() where TRider : IRider { throw new NotSupportedException(); } public HostReceiveEndpointHandle ConnectReceiveEndpoint(IEndpointDefinition definition, IEndpointNameFormatter endpointNameFormatter, Action<IBusRegistrationContext, IReceiveEndpointConfigurator> configure = null) { return BusControl.ConnectReceiveEndpoint(definition, endpointNameFormatter, configurator => { _busRegistrationContext.GetConfigureReceiveEndpoints() .Configure(definition.GetEndpointName(endpointNameFormatter), configurator); configure?.Invoke(_busRegistrationContext, configurator); }); } public HostReceiveEndpointHandle ConnectReceiveEndpoint(string queueName, Action<IBusRegistrationContext, IReceiveEndpointConfigurator> configure = null) { return BusControl.ConnectReceiveEndpoint(queueName, configurator => { _busRegistrationContext.GetConfigureReceiveEndpoints().Configure(queueName, configurator); configure?.Invoke(_busRegistrationContext, configurator); }); } } }