Почему консольные приложения по умолчанию используют прокси? - PullRequest
0 голосов
/ 28 июня 2018

В настоящее время у меня есть некоторые проблемы с библиотекой классов, которая не работает как консольное приложение.

Цель консольного приложения - отправлять сообщения в очередь Azure, что оно делает без проблем, и в мониторе ресурсов можно увидеть, что оно выполняет вызовы через наш веб-прокси и в нашу очередь Azure. Это сделано по умолчанию, я все равно не сказал, что он должен использовать этот прокси.

Библиотека классов, с другой стороны, делает то же самое, но не использует прокси и, следовательно, не может отправлять свои данные.

Оба проекта идентичны в том, что они делают вызов для отправки сообщения, но по какой-то причине это консольное приложение, целью которого является только отправка сообщения, и библиотека, цель которой одинакова, действуют по-разному - почему консольное приложение пытается использовать прокси, и как заставить библиотеку классов принудительно использовать прокси?

вывод:

Как мне заставить Microsoft.ServiceBus.Messaging.QueueClient.send использовать прокси а не порт 443

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Чтобы ответить на мой собственный вопрос.

Я решил проблему, создав proxy.config и добавив его в мой app.config.

формат proxy.config:

<?xml version="1.0"?>
<defaultProxy enabled="true">
    <proxy autoDetect="False" proxyaddress="http://<proxyaddress>:<port>" />
    <bypasslist>
        <add address="localhost" />
    </bypasslist>
</defaultProxy>

и добавьте proxy.config в мой app.config в качестве конфигурации system.net:

  <system.net>
    <defaultProxy configSource="proxy.config" />
  </system.net>
0 голосов
/ 29 июня 2018

Насколько мне известно, невозможно установить прокси при использовании клиента служебной шины.

Доступны только следующие варианты подключения для клиента служебной шины:

HTTP - порт 80

HTTPS - порт 443

TCP - 9350 до 9354

Для получения дополнительной информации мы можем обратиться к:

ConnectivityMode Enum

В вашей библиотеке классов установите для режима подключения значение Http, как показано ниже, и повторите попытку:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;

Аналогично вашей теме: Сервисная шина Azure работает за прокси-сервером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...