Проверяя журналы, я вижу следующее:
Код: Выделить всё
2026-02-02T20:00:20.977007+00:00 app[web.1]: Unhandled exception. MassTransit.ConfigurationException: The bus configuration is invalid:
2026-02-02T20:00:20.977027+00:00 app[web.1]: [Failure] License must be specified with SetLicense/SetLicenseLocation or by setting the MT_LICENSE/MT_LICENSE_PATH environment variables
2026-02-02T20:00:20.977050+00:00 app[web.1]: at MassTransit.MassTransitExceptionExtensions.ThrowIfContainsFailure(IEnumerable`1 results, String prefix) in /_/src/MassTransit.Abstractions/Exceptions/MassTransitExceptionExtensions.cs:line 26
2026-02-02T20:00:20.977052+00:00 app[web.1]: at MassTransit.Configuration.TransportRegistrationBusFactory`1.CreateBus[T,TConfigurator](T configurator, IBusRegistrationContext context, Action`2 configure, IEnumerable`1 specifications) in /_/src/MassTransit/DependencyInjection/Configuration/TransportRegistrationBusFactory.cs:line 50
2026-02-02T20:00:20.977053+00:00 app[web.1]: at MassTransit.RabbitMqTransport.Configuration.RabbitMqRegistrationBusFactory.CreateBus(IBusRegistrationContext context, IEnumerable`1 specifications, String busName) in /_/src/Transports/MassTransit.RabbitMqTransport/RabbitMqTransport/Configuration/RabbitMqRegistrationBusFactory.cs:line 71
2026-02-02T20:00:20.977054+00:00 app[web.1]: at MassTransit.Configuration.ServiceCollectionBusConfigurator.CreateBus[T](T busFactory, IServiceProvider provider) in /_/src/MassTransit/DependencyInjection/Configuration/ServiceCollectionBusConfigurator.cs:line 152
2026-02-02T20:00:20.977059+00:00 app[web.1]: at MassTransit.Configuration.ServiceCollectionBusConfigurator.c__DisplayClass7_0`1.b__0(IServiceProvider provider) in /_/src/MassTransit/DependencyInjection/Configuration/ServiceCollectionBusConfigurator.cs:line 106
2026-02-02T20:00:20.977061+00:00 app[web.1]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
2026-02-02T20:00:20.977061+00:00 app[web.1]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
Код: Выделить всё
public static void AddBusExt(this IServiceCollection services)
{
var rabbitMqUserName = EnvHelper.GetStrVariable("RABBITMQ_USERNAME");
var rabbitMqPassword = EnvHelper.GetStrVariable("RABBITMQ_PASSWORD");
services.AddScoped();
services.AddMassTransit(b =>
{
b.AddConsumer();
b.UsingRabbitMq((context, cfg) =>
{
cfg.Host(GetRabbitMqUri(), h =>
{
h.Username(rabbitMqUserName);
h.Password(rabbitMqPassword);
});
cfg.ReceiveEndpoint(RabbitMqQueue.TestQueue,
e => { e.ConfigureConsumer(context); });
});
});
}
#region Private functions
private static Uri GetRabbitMqUri()
{
return new Uri($"rabbitmq://{EnvHelper.GetStrVariable("RABBITMQ_HOSTNAME")}:{EnvHelper.GetStrVariable("RABBITMQ_PORT")}/");
}
#endregion
Если я комментирую функцию .UsingRabbitMq и весь код внутри ServiceBus, мое приложение строится правильно. Это мой класс ServiceBus:
Код: Выделить всё
public async Task PublishAsync(T messageEvent) where T : class
{
try
{
using var source = new CancellationTokenSource(TimeSpan.FromSeconds(10));
await publishEndpoint.Publish(messageEvent, source.Token);
}
catch
{
throw new Exception("Publish failed");
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... production
Мобильная версия