Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core MassTransit忽略环境变量_Asp.net Core_Masstransit - Fatal编程技术网

Asp.net core MassTransit忽略环境变量

Asp.net core MassTransit忽略环境变量,asp.net-core,masstransit,Asp.net Core,Masstransit,我试图利用Docker和环境变量,但MassTransit似乎完全忽略了它们 在我的Dockerfile(除其他外)中,我有以下内容: ENV MT_RMQ__HOST "rabbitmq" ENV MT_RMQ__USER "root" ENV MT_RMQ__PASS "root" 以下内容可以很好地应用并显示在Docker UI中,但MassTransit仍然使用相同的连接凭据: Connect: guest@localhost

我试图利用Docker和环境变量,但MassTransit似乎完全忽略了它们

在我的Dockerfile(除其他外)中,我有以下内容:

ENV MT_RMQ__HOST "rabbitmq"
ENV MT_RMQ__USER "root"
ENV MT_RMQ__PASS "root"
以下内容可以很好地应用并显示在Docker UI中,但MassTransit仍然使用相同的连接凭据:

Connect: guest@localhost:5672/

warn: MassTransit[0]

Retrying 00:00:08.2900000: Broker unreachable: guest@localhost:5672/
我的配置很简单:

services.AddMassTransit(x =>
{
    x.UsingRabbitMq((context, cfg) => cfg.ConfigureEndpoints(context));
});

services.AddMassTransitHostedService();

您在哪里看到MassTransit使用环境变量?如果您使用的是MassTransit平台docker映像,则不使用这些映像调用AddMassTransit,而是使用
IPlatformStartup
界面按照进行配置。@ChrisPatterson我没有使用MassTransit平台docker映像,也没有看到正在使用的环境变量。事实上,我看到他们没有被使用。我有一个带有大众运输nuget包的ASPNET Core应用程序和一个包含RabbitMQ的docker,运行起来没有问题。问题是,rabbitmq托管在单独的容器映像上——这意味着我必须创建网络并使用主机名——但我不能指定它,因为MT忽略了环境变量。因此,我的观点是,MassTransit不在任何配置中使用环境变量。如何配置MassTransit取决于您。@ChrisPatterson我明白了。那么,这有什么用呢我在上面链接了MassTransit平台。使用
IPlatformStartup
的MassTransit应用程序的预构建基本Docker映像。