【问题标题】:Faster Downloading User Image Lync 2013 SDK更快地下载用户图像 Lync 2013 SDK
【发布时间】:2014-02-25 13:40:07
【问题描述】:

我在使用 Lync 2013 sdk 时遇到了一个小问题,我的所有用户都配置在 Active Directory 中以及用户图像。但是当开始登录 lync(在我的应用程序中)时,有时会加载用户图片,有时不会加载,尽管用户图像始终存在于活动目录中。有什么办法可以提高下载用户图片的成功率。其次,虽然已经实现了线程的概念,但如何加快下载图像的过程,使整个过程看起来更快。

【问题讨论】:

    标签: c# xaml lync lync-client-sdk lync-2013


    【解决方案1】:

    抱歉,我没有答案,但是...注意到您是在星期四发布的,而现在是星期一,没有答案,请考虑在此处发布您的问题:

    Microsoft Lync Client Development Forum

    【讨论】:

      【解决方案2】:

      在使用 Lync API 时,类似于以下的代码应该可以将图片作为流提供给您,然后您可以随意使用它。

      foreach (Contact contact in results.Contacts)
      {
          List<ContactInformationType> lookup = new List<ContactInformationType>();
          lookup.Add(ContactInformationType.DisplayName);
          lookup.Add(ContactInformationType.Photo);
      
          IDictionary<ContactInformationType, object> contactDetails = contact.GetContactInformation(lookup);
      
          Stream s = (Stream)contactDetails[ContactInformationType.Photo];
          if (s != null)
          {
              string PicturePath = "Photos\\" + (string)contactDetails[ContactInformationType.DisplayName] + ".jpg";
              StreamWriter sw = new StreamWriter(PicturePath, false);
              CopyStream(s, sw.BaseStream);
              sw.Close();
          }
      }
      

      这非常快,根据我的经验,总是会从 Lync 返回照片。

      您是否将组策略 DisplayPhoto 设置为 PhotosFromADOnly 以确保仅使用 AD 中的照片,否则用户可以选择自己的照片,Lync API 将返回这些照片而不是 AD 中的照片。

      最后的选择可能是从 AD 目录获取图像。

      获取用户的电子邮件地址并在 AD 中搜索。然后读出 thumbnailPhoto 属性。

      Byte[] Photo = (Byte[])user.Properties["thumbnailPhoto"].Value; 
      

      客户端上的 Lync 联系人数据并不总是与 AD 保持同步,可能需要长达一天的时间才能同步,我不太确定这对 Lync 照片有何影响。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-30
        • 1970-01-01
        • 2016-12-11
        • 1970-01-01
        • 2019-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多