【问题标题】:Exchange Web services :The request failed. The underlying connection was closed: An unexpected error occurred on a receiveExchange Web 服务:请求失败。底层连接已关闭:接收时发生意外错误
【发布时间】:2018-06-26 06:41:40
【问题描述】:

我收到此错误:T他的请求失败。底层连接已关闭:接收时发生意外错误。

当我尝试使用 EWS 从 Exchange 服务器读取电子邮件时 这是我的代码:

  try {
                ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
                ServicePointManager.MaxServicePoints =1000;
                ServicePointManager.MaxServicePointIdleTime = 10000;
                ServicePointManager.UseNagleAlgorithm = true;
                ServicePointManager.Expect100Continue = true;

                ServicePointManager.DefaultConnectionLimit = 10000;

                var exchange = new ExchangeService(ExchangeVersion.Exchange2013);

                exchange.Credentials = new WebCredentials("user", "password", "domain");
                exchange.TraceEnabled = true;
                exchange.TraceFlags = TraceFlags.All;

                exchange.AutodiscoverUrl("mail-id", RedirectionUrlValidationCallback);
                exchange.Url = new System.Uri("https://URL/EWS/Exchange.asmx");

                exchange.KeepAlive = false;
                exchange.Timeout = 900000;
                WriteToFile("Connected to Exchange Server : " + exchange.Url.Host);

  TimeSpan ts = new TimeSpan(0, 0, -15, 0);
                DateTime date = DateTime.Now.Add(ts);
                SearchFilter.IsGreaterThanOrEqualTo filter = new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, date);

                if (exchange != null)
                {
                    FindItemsResults<Item> findResults = exchange.FindItems(WellKnownFolderName.Inbox, filter, new ItemView(999));


                    foreach (Item item in findResults)
                    {


                        EmailMessage message2 = EmailMessage.Bind(exchange,
                                      (EmailMessage.Bind(exchange, item.Id)).Id,
                                       new PropertySet(BasePropertySet.FirstClassProperties,
                       new ExtendedPropertyDefinition(0x1013, MapiPropertyType.Binary)));




                        var mailbosy = message2.Body.Text;

}

【问题讨论】:

  • 首先要确保您使用来自 GitHub 的最新版本 github.com/OfficeDev/ews-managed-api 其他人报告了与从 Microsoft 或通过 nuGet 下载的版本相同的问题(即现在很老了)
  • @Glen 感谢您的评论,我正在使用最新版本 (Microsoft.Exchange.WebServices.2.2.0)
  • 那不是最新版本微软在2015年停止发布更新。获得最新的唯一方法是从github编译源代码

标签: c# asp.net .net exchange-server exchangewebservices


【解决方案1】:

我确认@Glen Scales 所说的。 MSI 下载和 NuGet 下载不起作用。您必须从源代码重新编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-25
    • 2014-03-10
    • 1970-01-01
    相关资源
    最近更新 更多