7

我使用 lync Sdk 将 Lync 对话停靠在我自己的 wfp 应用程序中。问题是,当我尝试像这样停靠对话时:

public void Dock(Conversation conversation, IntPtr host)
{
  try
  {
    ConversationWindow window = _automation.GetConversationWindow(conversation);
    if (window.State == ConversationWindowState.Initialized)
    {
      window.Dock(host);
    }
  }
  catch (Exception ex)
  {
  }
}

有时,验证和对接之间的 window.State 更改,在 Windows 8 上,生成的异常似乎无法捕获,并导致我的应用程序崩溃,而在 Windows 7 上,异常只是捕获。

异常类型为 Microsoft.Lync.Model.NotInitializedException

4

2 回答 2

0

我发现 Lync 可能对它在哪个线程上执行操作非常挑剔。我们见过的一些最奇怪的行为是当调用应该在创建会议/对话的线程上进行时,而是在另一个线程上调用。在这些情况下,没有看到异常绝对是奇怪的事情之一。

如果我是你,我会专门使用一个线程来执行 Lync 操作,并在需要的地方将这些操作插入其中(可能带有任何回调以使界面美观整洁)。

如果您只想检查线程是否是您的问题,您可以随时将这些调用发送到 WPF 调度程序以进行确认(一旦确认,如果您不想锁定 UI,则需要拥有自己的线程模型)

于 2014-01-28T00:39:09.613 回答
0

没有答案,只是一个建议。您也可以尝试在此处发布您的问题:

Lync 客户端开发人员论坛

如果您的问题是错误,它将引起产品团队的注意。如果没有,您的问题也有可能得到解答并解决。

于 2014-01-30T15:25:36.107 回答