为什么我无法访问HasPicture属性?

时间:2017-11-03 09:26:20

标签: c# .net exchange-server exchangewebservices

我尝试使用C#应用程序管理联系人对象。

我用BindToItems加载联系人:

ServiceResponseCollection<GetItemResponse> responses = service.BindToItems(itemIds, PropertySet.FirstClassProperties);
foreach (var responseItem in responses)
{
    contactDict.Add(responseItem.Item.Id, (Contact)responseItem.Item);
}

然后我尝试通过将其属性与存储的值进行比较来检查联系人是否已更改。

         return exchangeContact.Surname != user.Surname
             || exchangeContact.CompanyName != user.Company
             ...
             || (!exchangeContact.HasPicture && user.ThumbnailPhoto != null)

但是当我尝试访问HasPicture属性时,会抛出异常。

ServiceObjectPropertyException: This property was requested, but it wasn't returned by the server.

签入调试器时,Microsoft.Exchange.WebServices.Data.Contact的其他属性也会抛出此异常。例如:

  • 生日
  • ContactSource
  • IconIndex
  • NormalizedBody
  • 的TextBody
  • PostalAddressIndex
  • WeddingAnniversary

为什么我无法访问这些属性?它们不包含在FirstClassProperties中吗?但this article表示HasImage是Contact对象的FirstClassProperty。

1 个答案:

答案 0 :(得分:2)

继BastianW评论之后,您可以使用$(window).on('load resize', function (e) { if ($(window).width() > 1024 ){ w.accessibleMenuConfig.init(); } }) 方法检查该帐户是否有图片。

Contact.TryGetProperty