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

相关文章