這是我需要做的:Lync客戶端:如何登錄和發送短消息
我需要建立一個控制檯應用程序,體徵(不使用當前用戶或Lync會議)到的Lync Server和發送消息給特定聯繫人(userUri)。就這些。
但是,每次使用Microsoft.Lync.Model.LyncClient.GetClient()
時,它似乎都會返回當前會話。我已經能夠發送消息,所以唯一的問題是在不使用當前用戶/會話的情況下登錄。
如何設置新的?
我注意到另一個奇怪的事情:我提到我能夠通過控制檯應用程序發送消息與我當前的會話(消息發送給我的同事並顯示)。但是,當我從LyncClient.SignInConfiguration
獲得SignInConfiguration
時,如果我假定它顯示我的用戶名/ userAndDomain,則UserName屬性爲空。下面
代碼:
lyncClient = Microsoft.Lync.Model.LyncClient.GetClient();
if (lyncClient == null)
{
Console.WriteLine("Unable to obtain client interface");
}
if (lyncClient.InSuppressedMode == true)
{
Console.WriteLine("Lync is uninitialized");
}
if (lyncClient.State == ClientState.SignedIn)
{
Console.WriteLine("Lync is signed in");
}
else
{
Console.WriteLine("Lync is NOT signed in");
}
SignInConfiguration config = lyncClient.SignInConfiguration;
internalUrl = config.InternalServerUrl;
externalUrl = config.ExternalServerUrl;
signedInFromIntranet = config.SignedInFromIntranet.ToString();
signedInAvailability = config.SignInAsAvailability.ToString();
signedInAutoRetry = config.SignInAutoRetry.ToString();
signedInUser = config.UserName;
Console.WriteLine("Internal Url: " + internalUrl);
Console.WriteLine("External Url: " + externalUrl);
Console.WriteLine("Signed-in from Intranet: " + signedInFromIntranet);
Console.WriteLine("Signed-in as availability: " + signedInAvailability);
Console.WriteLine("Signed-in as auto-retry: " + signedInAutoRetry);
Console.WriteLine("Signed-in User: " + signedInUser);
conversation = lyncClient.ConversationManager.AddConversation();
conversation.AddParticipant(lyncClient.ContactManager.GetContactByUri(recipientUri));
if (((Microsoft.Lync.Model.Conversation.InstantMessageModality)conversation.Modalities[Microsoft.Lync.Model.Conversation.ModalityTypes.InstantMessage]).CanInvoke(Microsoft.Lync.Model.Conversation.ModalityAction.SendInstantMessage))
{
((Microsoft.Lync.Model.Conversation.InstantMessageModality)conversation.Modalities[Microsoft.Lync.Model.Conversation.ModalityTypes.InstantMessage]).BeginSendMessage(
message,
null,
null
);
}
你有沒有使用UCWA連接到您的Lync Server,而不是Lync客戶端SDK考慮?由於Lync Client SDK需要Lync Client,因此Lync Client SDK實際上並不允許您使用很多獨立功能。 – 2014-10-21 11:41:04