エクスポート (0) 印刷
すべて展開

方法: Service Bus の接続設定を変更する

更新日: 2014年6月

Microsoft.ServiceBus.ConnectivitySettings クラスには、現在のアプリ ドメインでアクティブな Microsoft.ServiceBus.NetOnewayRelayBindingMicrosoft.ServiceBus.NetEventRelayBinding バインドに基づいて、すべてのエンドポイントに影響を与える設定が含まれています。これらの設定が共有される理由は、Service Bus への接続パスは同じプロセス内のすべてのエンドポイントで同一であるためです。ほとんどの企業ネットワーク環境では、送信トラフィック用に開くポートを制限し、HTTP および TCP の送信トラフィックをポートの同じ狭帯域に制限することが一般的です。

既定では、この 2 つのバインドの 1 つを使用してメッセージをリッスンするすべてのサービス エンドポイントが、送信 TCP ポート 9351 または 9552 を使用して Service Bus に接続します。

これらのポートのいずれも、送信通信に使用できない場合、接続設定の SystemConnectivity プロパティを Http に設定すると、RFC 2616 に対応した HTTP 要求を使用して、送信ポート 80 と 443 経由での HTTP のポーリングが可能になります。RFC 2616 では、特定のドメインへの同時要求を 2 つに制限することを強く推奨しています。この制限は、オペレーティング システムとネットワーク デバイスまたはアップストリーム プロキシで適用できます。HTTP ポーリング モードで単一の HTTP 接続を使用してポーリングを実装しているとします。現在のアプリケーション ドメイン内にあるすべての一方向エンドポイントおよびイベント エンドポイント宛てのメッセージはすべて、HTTP ポーリング接続経由で多重化され、ローカルに配信されます。

  1. SystemConnectivity プロパティを使用して、接続設定を設定または変更できます。次に例を示します。

    ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;
    

使用例

Echo Service Bus サンプルの次の例では、コマンドライン アプリで接続モードを設定する方法を示しています。


          ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;

Console.Write("Your Service Namespace (ex. sb://<ServiceNamespace>.servicebus.windows.net/): ");
string serviceNamespace = Console.ReadLine();
Console.Write("Your Issuer Name: ");
string issuerName = Console.ReadLine();
Console.Write("Your Issuer Secret: ");
string issuerSecret = Console.ReadLine();

// Create the service URI based on the service namespace name.
Uri address = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, "EchoService");

表示:
© 2014 Microsoft