В Notification Hubs .NET API с NotificationHubSettings прокси можно передать при создании клиента:

var settings = new Microsoft.Azure.NotificationHubs.NotificationHubSettings
{
    Proxy = new System.Net.WebProxy("http://proxy.example:8080")
};
var hub = new Microsoft.Azure.NotificationHubs.NotificationHubClient(
    hubConnectionString, hubName, settings);

Строка подключения и имя хаба остаются конфигурацией службы. Публичная конечная точка HTTP из список HTTP-прокси может заполнить адрес WebProxy в стандартном пути создания.

В этом конструкторе действует правило порядка:

  1. Переданный HttpClient используется первым.
  2. Иначе переданный MessageHandler создаёт HTTP-клиент.
  3. Иначе Proxy создаёт HttpClientHandler, настроенный на прокси.
  4. Если ничего не передано, конструктор создаёт свой HTTP-клиент по умолчанию.

Если приложение уже передаёт HttpClient или MessageHandler, настройте прокси этого транспорта, а не рассчитывайте, что отдельное свойство Proxy его переопределит.

Для учётной записи прокси задайте учётные данные в WebProxy до создания. Они проходят проверку подлинности на посреднике, а не в Notification Hub.

В старых примерах упоминается NotificationHubClientSettings. Сопоставляйте тип настроек и конструктор, предоставляемые установленным пакетом, вместо того чтобы подмешивать это имя в API, ожидающий NotificationHubSettings.

Похожие статьи