2017-04-04 12 views
0

私はExchange 2003サーバー上のメールボックスを読み取るためのWindowsフォームアプリケーションを作成しています。このコードは接続し、私は電子メールを読むことができますが、AutodiscoverUrlメソッドを実行するには2分以上かかることがあります。C#でExchange Serverに接続するとき、AutodiscoverUrlが必要ですか?

exchange = new ExchangeService(ExchangeVersion.Exchange2013_SP1); 
exchange.Credentials = new WebCredentials("USERNAME", "PASSWORD", "DOMAIN"); 
exchange.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 

これは私たちの社内ネットワークで起こっていることです。私はデータセンターに数千台のサーバーを持つ大企業にいるので、Exchangeサーバーを見つけるまでAutodiscoverUrlがすべてのサーバーをループしているのだろうかと思っています。私はExchangeサーバーの名前を知っています。それを指定してドライブする方法はありますか?

答えて

0

最初に2種類の自動検出エントリがあります。内部のものと外部のもの。あなたの環境(スプリットDNSなど)によっては、このように見える方法を100%回答するのは簡単ではありません。解決策からデベロッパーに仲間入りしたときは、ここでMS Exchange管理者に相談してください。

外部自動検出はMicrosoft Remote Connectivity Analyzerで簡単に確認できます。

必要に応じて、自動検出機能をTest-OutlookWebServicesでチェックすることもできます。

しかし、私はすべてが正常であり、一般的には動作していても十分速くはないと仮定します。つまり、(CASサーバーをハードコードする代わりに)自動検出プロセスのいくつかの手順を無効にするオプションがあります(詳細はhereを参照してください)。たとえば、ルートドメインチェックが不要な場合は、ExcludeHttpsRootDomainを介して上記のURLで説明されているようにチェックを無効にすることができます。ただし、これはExchange管理者と一緒に行う必要があります。その理由は、必要なAutoDiscoveryの手順を無効にすると、Exchange管理者がここで変更を行った後にソリューションが破損する可能性があるからです。

関連する問題