2016-08-05 3 views
0

현재 응용 프로그램에서 Lync 사용자의 연락처 사진을 표시하려고합니다. Lync 클라이언트에서 이전에 사용자를 조회 한 경우에만 제대로 작동합니다. 일종의 캐싱이 필요한 것 같습니다. 이전에 사용자를 검색하지 않고 연락처 목록에서 사용자를 직접 연락처로 지정하지 않으면 아무 것도 반환하지 않습니다. 모든 아이디어 코드로 조회를 수행하는 방법? 지금 당장하고있는 일들 :Lync 2013 SDK GetContactInformation 사진

Public Function GetLyncPicture(lyncMail As String) As Image 
    Dim myimage As Image = Nothing 

    Try 
     If lyncMail.Trim.Length > 0 Then 
      client = LyncClient.GetClient() 

      If client IsNot Nothing Then 
       Dim cManager As ContactManager = client.ContactManager 

       If cManager IsNot Nothing Then 
        Dim contact As Contact = cManager.GetContactByUri(lyncMail) 
        If contact IsNot Nothing Then 
         Dim ciList As New List(Of ContactInformationType)() 
         ciList.Add(ContactInformationType.Photo) 
         Dim dic As IDictionary(Of ContactInformationType, Object) = Nothing 
         dic = contact.GetContactInformation(ciList) 

         If dic IsNot Nothing Then 
          Dim photoStream As Stream = TryCast(dic(ContactInformationType.Photo), Stream) 

          If photoStream IsNot Nothing Then 
           myimage = Image.FromStream(photoStream) 
          End If 
         End If 
        End If 
       End If 
      End If 
     End If 
    Catch ex As Exception 
    End Try 

    GetLyncPicture = myimage 
End Function 

답변

0

당신이 찾고있는 것은 ContactSubscription입니다. '정보'(예 : 사진)를 보려는 모든 연락처에 대해 연락처 구독에 추가하고 원하는 정보가 있으면 언제든지 다시 전화 할 수 있습니다. Microsoft는 연락처 구독을 사용하여 howto를 제공합니다.

그래서 "지금"이미지를 가져올 방법이 없습니다. 사진이 나타나려면 시간이 걸릴 수 있습니다. 따라서 콜백을받을 때마다 가지고있는 것을 표시하고 업데이트하는 것이 좋습니다.

관련 문제