Приложение .NET Core на WSL2 Ubuntu 18.04 LTS не может общаться с RabbitMQ, работающим в Windows Docker - PullRequest
0 голосов
/ 27 сентября 2019

ПРИМЕЧАНИЕ: MOVED здесь от SuperUser , где он не генерировал никакого ответа.

У меня есть приложение, основанное на последней версии .NET Core 3, выпущенной на этой неделе.У меня проблема при работе под WSL с Ubuntu 18.04 LTS.Проблема - исключение, открывающее связь RabbitMQ:

в соединении отказано 127.0.0.1:5672

Порт 5672 - это экземпляр RabbitMQ, работающий под Docker на стороне Windows.То же самое приложение .NET Core 3.0 подключается к порту и нормально работает под Windows, что вызывает сбой WSL2 Ubuntu.

Нужно ли каким-либо образом настраивать WSL2, чтобы открыть этот порт для Ubuntu?

  • Я могу пропинговать localhost и 127.0.0.1 под Ubuntu
  • netstat -a под Ubuntu не возвращает много и ничего о 5672 / RabbitMQ
  • в Windows / powershell 'GetProcess -Id(GetNetTCPConnection -LocalPort 5672) .OwningProcess 'имеет смысл и возвращает docker ...
  • .NET не установлен, но приложение было создано с помощью' dotnet publish -r ubuntu.16.04-x64 -c Release / p: PublishSingleFile= true / p: PublishTrimmed '

Код, открывающий RabbitMQ по запросу.

public MessagesManager( string channelname, string host = "localhost" )
{
    // real code passes username/pwd
    var factory = new ConnectionFactory() { HostName = host };
    _connectionMQ = factory.CreateConnection();
...