Azure Notification Hubs .NET: какая настройка прокси побеждает?
Настройте NotificationHubSettings.Proxy или переданный HTTP-транспорт, учитывая приоритет HttpClient и MessageHandler в конструкторе.
В 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 в стандартном пути создания.
В этом конструкторе действует правило порядка:
- Переданный HttpClient используется первым.
- Иначе переданный MessageHandler создаёт HTTP-клиент.
- Иначе Proxy создаёт HttpClientHandler, настроенный на прокси.
- Если ничего не передано, конструктор создаёт свой HTTP-клиент по умолчанию.
Если приложение уже передаёт HttpClient или MessageHandler, настройте прокси этого транспорта, а не рассчитывайте, что отдельное свойство Proxy его переопределит.
Для учётной записи прокси задайте учётные данные в WebProxy до создания. Они проходят проверку подлинности на посреднике, а не в Notification Hub.
В старых примерах упоминается NotificationHubClientSettings. Сопоставляйте тип настроек и конструктор, предоставляемые установленным пакетом, вместо того чтобы подмешивать это имя в API, ожидающий NotificationHubSettings.