我正在尝试启动Lync Conversation,它似乎正在我的本地环境中运行,这也是安装Microsoft Lync的地方。现在,当我尝试将此代码移动到托管在服务器上的网站上,然后尝试在本地计算机上的浏览器上运行此代码时,它将无法运行。我收到错误,“microsoft.Lync.Model.clientNotFoundException”。我猜它是因为它在服务器上而不是在用户的本地计算机上寻找Lync客户端? 如何让它在用户的计算机上查找客户端? 谢谢!
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Lync.Model.Extensibility;
using Microsoft.Lync.Model;
namespace PlusLyncDial
{
public class LyncDial
{
public static void DialNumber(string number)
{
number = number.Trim();
if(number[0]!='1')
{
number = "1" + number;
}
List<string> participants = new List<string>();
participants.Add("tel:+" + number);
LyncClient.GetClient();
// Start the conversation.
LyncClient.GetAutomation().BeginStartConversation(
AutomationModalities.Audio,
participants,
null,
(ar) =>
{
try
{
ConversationWindow newWindow = LyncClient.GetAutomation().EndStartConversation(ar);
}
catch { }
},
null);
}
}
}
答案 0 :(得分:1)
您无法从服务器控制用户的Lync客户端。如果您希望用户的客户端开始呼叫,请使用tel:
前缀:
<a href="tel:+9900032etc">Click to call</a>
当用户点击此链接时,浏览器会调用电话链接的处理程序,该处理程序应该是用户的Lync客户端(或skype,或者当他使用该移动电话进行浏览时)。
答案 1 :(得分:0)
正如Willem指出的那样,您无法直接从另一台计算机上影响Lync客户端。如果您想代表用户开始呼叫,您可以使用基于UCMA(基于服务器)的应用程序来创建呼叫并根据需要添加参与者。
UCMA SDK可从http://www.microsoft.com/en-us/download/details.aspx?id=10566
获取