EWS マネージ API を使用して EWS サービス URL を設定する

EWS マネージ API アプリケーションでの EWS サービス URL の設定方法について説明します。

サービス URL は、Exchange が Exchange Web サービス (EWS) との通信に使用するアドレスです。 このアドレスを認識していて、EWS と通信するための適切なアクセス権のある EWS マネージ API アプリケーションは、ExchangeService クラスの呼び出しを行えます。 オンプレミス Exchange サーバーのサービス URL は、たとえば次のようになります。

https://computer.domain.contoso.com/EWS/Exchange.asmx

アプリケーションで EWS URL を設定するには、2 とおりの方法があります。 自動検出サービスを使用して URL を取得することをお勧めします。大規模なサーバー フォレストでは、メールボックスが別のサーバーに移行されると、URL が変わることがあるからです。 ただし、自動検出の呼び出しはある程度時間がかかることがあるため、短時間に複数の呼び出しを行う必要がある場合は、アプリケーションの速度が低下することがあります。したがって、自動検出から取得した URL 値をキャッシュし、キャッシュされたこの値を使用して EWS サービス URL を手動で設定した方がよい場合があります。 この方法をとれば、アプリケーションのパフォーマンスが向上します。ただし、サーバーの値が変わった場合に備えて、キャッシュされた値を自動検出を使用して定期的に更新するようにしてください。

自動検出サービスを使用して EWS サービス URL を設定する

AutodiscoverUrl メソッドは、メール アドレスを使用して ExchangeService エンドポイントを設定し、ExchangeService プロキシ クラスに含まれるどのメソッドもアプリケーションが使用できるようにします。 次の例に、AutodiscoverURL メソッドの使用方法を示します。

// Create the binding.
ExchangeService service = new ExchangeService();
// Set the credentials for the on-premises server.
service.Credentials = new WebCredentials("user1@contoso.com", "password");
// Set the URL.
service.AutodiscoverUrl("User1@contoso.com");

Exchange サービス URL を手動で設定する

次の例は、キャッシュされた値を使用して EWS サービス URL を設定する方法を示しています。 これを行う前に、自動検出サービスを使用して EWS URL を必ず取得するようにしてください。

// Create the binding.
ExchangeService service = new ExchangeService();
// Set the credentials for the on-premises server.
service.Credentials = new WebCredentials("user1@contoso.com", "password");
// Set the URL.
service.Url = new Uri("https://computername.domain.contoso.com/EWS/Exchange.asmx");

関連項目