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。请与已安装包所公开的设置类型和构造函数保持一致,而不要把这个名称混入期望 NotificationHubSettings 的 API。