/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/Transports/MassTransit.Azure.ServiceBus.Core/AzureServiceBusTransport/ServiceBusInstance.cs
57 строк
2 KB
Chris Patterson
Added context-based methods for connecting subscription endpoints
08 июн 2022, 19:29
08 июн 2022, 19:29
e33eb50
Код
Авторство
О чём код?
namespace MassTransit.AzureServiceBusTransport { using System; using MassTransit.Configuration; using Transports; public class ServiceBusInstance : TransportBusInstance<IServiceBusReceiveEndpointConfigurator>, ISubscriptionEndpointConnector { readonly IServiceBusHost _host; public ServiceBusInstance(IBusControl busControl, IHost<IServiceBusReceiveEndpointConfigurator> host, IHostConfiguration hostConfiguration, IBusRegistrationContext busRegistrationContext) : base(busControl, host, hostConfiguration, busRegistrationContext) { _host = host as IServiceBusHost ?? throw new ArgumentException("Host was not an IServiceBusHost", nameof(host)); } public HostReceiveEndpointHandle ConnectSubscriptionEndpoint<T>(string subscriptionName, Action<IServiceBusSubscriptionEndpointConfigurator> configure = null) where T : class { return _host.ConnectSubscriptionEndpoint<T>(subscriptionName, configure); } public HostReceiveEndpointHandle ConnectSubscriptionEndpoint(string subscriptionName, string topicName, Action<IServiceBusSubscriptionEndpointConfigurator> configure = null) { return _host.ConnectSubscriptionEndpoint(subscriptionName, topicName, configure); } public HostReceiveEndpointHandle ConnectSubscriptionEndpoint<T>(string subscriptionName, Action<IBusRegistrationContext, IServiceBusSubscriptionEndpointConfigurator> configure = null) where T : class { return _host.ConnectSubscriptionEndpoint<T>(subscriptionName, configurator => { RegistrationContext.GetConfigureReceiveEndpoints().Configure(subscriptionName, configurator); configure?.Invoke(RegistrationContext, configurator); }); } public HostReceiveEndpointHandle ConnectSubscriptionEndpoint(string subscriptionName, string topicName, Action<IBusRegistrationContext, IServiceBusSubscriptionEndpointConfigurator> configure = null) { return _host.ConnectSubscriptionEndpoint(subscriptionName, topicName, configurator => { RegistrationContext.GetConfigureReceiveEndpoints().Configure(subscriptionName, configurator); configure?.Invoke(RegistrationContext, configurator); }); } } }