【问题标题】:When connecting to Exchange Server in C#, do I need AutodiscoverUrl?在 C# 中连接到 Exchange Server 时,是否需要 AutodiscoverUrl?
【发布时间】:2017-04-04 00:52:12
【问题描述】:

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

exchange = new ExchangeService(ExchangeVersion.Exchange2013_SP1);  
exchange.Credentials = new WebCredentials("USERNAME", "PASSWORD", "DOMAIN");  
exchange.AutodiscoverUrl("USERNAME@DOMAIN", RedirectionUrlValidationCallback);

这一切都发生在我们的内部公司网络上。我在一家大公司工作,我们的数据中心有几千台服务器,我想知道 AutodiscoverUrl 是否会遍历我们所有的服务器,直到找到我们的 Exchange 服务器?我知道 Exchange 服务器的名称;有没有办法只指定它并继续前进?

【问题讨论】:

    标签: c# exchange-server exchangewebservices


    【解决方案1】:

    起初有两种 AutoDiscovery 条目。一个内部的,一个外部的。根据您的环境(例如拆分 DNS),要给您 100% 的答案并不容易。当您想成为解决方案的开发人员时,您应该在此处与您的 MS Exchange 管理员交谈,因为以下内容对他来说可能更有意义。

    使用Microsoft Remote Connectivity Analyzer 可以轻松检查外部自动发现。

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

    但我认为一切都已启动并正常运行,但它的运行速度还不够“快”。因此,您的选择可能是(而不是硬编码 CAS 服务器)禁用自动发现过程中的某些步骤(有关更多信息,请参阅here)。因此,例如,如果您不需要根域检查,您可以通过 ExcludeHttpsRootDomain 禁用上面 URL 中所述的检查。但是,如上所述,这应该与您的 Exchange 管理员一起完成。原因就在这里,如果您禁用某些必需的自动发现步骤,一旦 Exchange 管理员在此处执行更改,您可能会破坏您的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-26
      • 2016-07-14
      • 2015-10-03
      • 2018-12-18
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多