/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/Transports/MassTransit.EventHubIntegration/EventHubIntegration/EventHubConnectionContext.cs
38 строк
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.EventHubIntegration { using System; using System.Threading; using Azure.Messaging.EventHubs.Producer; using Configuration; using MassTransit.Middleware; public class EventHubConnectionContext : BasePipeContext, ConnectionContext { readonly Action<EventHubProducerClientOptions> _configureOptions; public EventHubConnectionContext(IHostSettings hostSettings, IStorageSettings storageSettings, Action<EventHubProducerClientOptions> configureOptions, CancellationToken cancellationToken) : base(cancellationToken) { _configureOptions = configureOptions; HostSettings = hostSettings; StorageSettings = storageSettings; } public IHostSettings HostSettings { get; } public IStorageSettings StorageSettings { get; } public EventHubProducerClient CreateEventHubClient(string eventHubName) { var options = new EventHubProducerClientOptions(); _configureOptions?.Invoke(options); var client = !string.IsNullOrWhiteSpace(HostSettings.ConnectionString) ? new EventHubProducerClient(HostSettings.ConnectionString, eventHubName, options) : new EventHubProducerClient(HostSettings.FullyQualifiedNamespace, eventHubName, HostSettings.TokenCredential, options); return client; } } }