/
IamDeveloper
/
Edk
Обзор
Документация
Войти
/
IamDeveloper
/
Edk
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Program.cs
55 строк
3 KB
IamDeveloper
init
13 дек 2024, 15:07
13 дек 2024, 15:07
9714be3
Код
Авторство
О чём код?
//TODO: покрыть тестами using Microsoft.Extensions.Hosting; using Microsoft.Extensions.DependencyInjection; using NLog.Extensions.Hosting; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using NLog; using MassTransit; using Microsoft.Extensions.Configuration; using Edk2directum; CreateHostBuilder(args).UseNLog().Build().Run(); static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostContext, config) => { config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); config.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true); }) .ConfigureServices((hostContext, services) => { //внедрить зависимости //логгирование services.AddLogging(loggingBuilder => { loggingBuilder.ClearProviders(); loggingBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); loggingBuilder.AddNLog(); }); //коннектор к Директум и сервиса оповещения Администраторов services.AddSingleton<IConnector, ComConnector>(); services.AddSingleton<INotify, JabberNotify>(); //флов процесса для тек. версии директум services.AddSingleton<Flow>(); //шина где ждем InternetDocument для регистрации в электронном досье services.AddMassTransit(x => { var user = hostContext.Configuration["RabbitMq:rabbit_user"]; var pass = hostContext.Configuration["RabbitMq:rabbit_password"]; var hostAddr = hostContext.Configuration["RabbitMq:host"]; var virtHost = hostContext.Configuration["RabbitMq:virtual_host"]; x.SetKebabCaseEndpointNameFormatter(); x.AddConsumer<InternetDocumentConsumer, InternetDocumentConsumerDefinition>(); x.UsingRabbitMq((context, cfg) => { cfg.Host(hostAddr, virtHost, h => { h.Username(user!); h.Password(pass!); }); cfg.ConfigureEndpoints(context); }); }); });