ExchangeService FindAppointments returns '已请求此 属性,但服务器未返回它' 错误

ExchangeService FindAppointments returns 'This property was requested, but it wasn't returned by the server' error

我正在使用 Microsoft.Exchange.WebServices.dll 版本 15.0.847.30 与 Outlook 中的功能进行交互。我正在使用这个电话:

EWSData = CurrentEmail.FindAppointments(WellKnownFolderName.Calendar, new CalendarView(t, t.AddDays(1)));

(t 是今天 +/- 从今天开始用户点击了多少天),它将 WellKnownFolderName 和 CalendarView 直接传递给对 ExchangeService.FindAppointments.

的调用

我有几个客户,每个客户都有一个用户收到“已请求此 属性,但服务器未返回它”的错误,有些时候有些时候没有。有时,它会提取一天的前几个约会,而忽略其余的约会。我的电子邮件、创建约会和 add/remove 联系人功能都在为他们工作。

我跟踪了 github 中的 ews-managed-api 代码,发现当 属性 被请求但为空时会抛出错误。我假设 github 上的代码比我正在使用的版本新得多,但是如果错误仍然是由我的版本中的代码引起的,我不知道如何找出是什么属性导致的问题。

因为我没有请求任何特定的东西,而是使用带有文件夹名称和日期的通用调用,所以我很困惑哪些属性会为 null 以及为什么。

如何在不重新编译我的应用程序的情况下追踪问题属性?

想一想:您是否有办法跟踪您的应用程序和 Exchange 之间的 XML 流程,例如提琴手?在错误响应中,您可以深入 XML 并查看导致问题的 属性 的名称。对此不是 100% 确定,但关于您可以尝试的唯一策略,无需重建您的应用程序,其中包含更多诊断代码。