6

我正在将 IM Presence 信息编码到我公司的一个 Silverlight 应用程序中。到目前为止,我找到的唯一解决方案是 CodePlex (Silverlight.OCS)。它“还可以”,但它已经过时了。

Lync SDK 使得在 silverlight 中获取 Presence 信息变得非常容易。不幸的是,我们网络上 99% 的用户仍在使用 Office Communicator (R2),因此无法使用开箱即用的 Lync 方法(xaml 中的控件:PresenceIndicator...)。

所以,我很好奇 Lync SDK 是否包含与 Office Communicator 通信的方式?

如果是这样,我将如何 a) 检查正在运行的客户端,然后 b) 连接到该客户端 - 无论是 Lync 还是 Communicator。很感谢任何形式的帮助!最后但并非最不重要 - 如果可能的话,我正在寻找 C# 代码。谢谢!

4

1 回答 1

2

不能针对 Office Communicator 使用 Lync 2010 SDK,只能针对 Lync 2010。

SDK 的前身是 Office Communicator 自动化 API (OCAA)。它是基于 COM 的 API,适用于 Communication 2007 和 2007 R2。它仍然受支持...暂时!

您可以在此处下载 API 。MSDN 登陆页面在这里

至于获取存在信息...嗯,希望这可能对您有所帮助(免责声明我太年轻,无法完成任何 OCS API 工作;)

获取联系记录

    private IMessengerContact FindContact(string userID)
{
    IMessengerContact contact = null;
    // Try the local contact list first
    try
    {
        contact = (IMessengerContact)communicator.GetContact(userID, "");
    }
    catch
    {
        contact = null;
    }

    // For a nonlocal contact, try the SIP Provider of Communicator
    if (contact == null || contact.Status == MISTATUS.MISTATUS_UNKNOWN)
    {
        try
        {
            contact =
                (IMessengerContact)communicator.GetContact(userID,
                communicator.MyServiceId);
            return contact;
        }
        catch
        {
            contact = null;
            return contact;
        }
    }
    else
    {
        return contact;
    }
}

返回联系人的状态:

IMessengerContact接口定义了一个属性Status,它包含许多MISTATUS之一。

于 2012-06-22T10:56:26.787 回答