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 に混ぜず、インストール済みパッケージが公開する設定型とコンストラクターに合わせてください。

関連記事