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