2017-04-04 104 views
0

我在写一个Windows窗体应用程序来读取Exchange 2013服务器上的邮箱。此代码连接,我可以阅读电子邮件,但执行AutodiscoverUrl方法可能需要两分钟或更长时间。在C#中连接到Exchange Server时,是否需要AutodiscoverUrl?

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

这一切都发生在我们的企业内部网络上。我在一家大型公司,在我们的数据中心有数千台服务器,我想知道AutodiscoverUrl是否在我们的所有服务器上循环,直到找到我们的Exchange服务器?我知道Exchange服务器的名称;有没有一种方法可以指定它并开车?

回答

0

起初有两种AutoDiscovery条目。内部的和外部的。根据你的环境(例如分割DNS),它不容易给你100%的答案,看起来应该如何。当您从解决方案中成为开发人员时,您应该在这里与您的MS Exchange管理员交谈,因为以下内容可能对他更有意义。

使用Microsoft Remote Connectivity Analyzer可以轻松检查外部AutoDiscovery。

如果需要,您还可以使用Test-OutlookWebServices检查自动发现功能。

但我认为一切都已经开始,并且一般地工作,但其工作并不“足够快”。因此,您的选择可能是(而不是CAS服务器的硬编码),以禁用自动发现过程中的某些步骤(有关更多信息,请参阅here)。因此,例如,如果您不需要根域检查,则可以按照以上URL中通过ExcludeHttpsRootDomain所述禁用该域。不过据说这应该与您的Exchange管理员一起完成。原因在于,如果您禁用所需的某些自动搜索步骤,则Exchange管理员在此处执行更改时可能会破坏您的解决方案。

相关问题