c# – 在Windows 8上无法捕获Lync NotInitializedException

前端之家收集整理的这篇文章主要介绍了c# – 在Windows 8上无法捕获Lync NotInitializedException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用lync Sdk在我自己的wfp应用程序中停靠Lync对话.
问题是,当我尝试将对话停靠时:
public void Dock(Conversation conversation,IntPtr host)
{
  try
  {
    ConversationWindow window = _automation.GetConversationWindow(conversation);
    if (window.State == ConversationWindowState.Initialized)
    {
      window.Dock(host);
    }
  }
  catch (Exception ex)
  {
  }
}

有时候窗口.验证和对接之间的状态变化以及在Windows 8上生成的异常似乎是不可捕获的并且导致我的应用程序崩溃,在Windows 7上异常只是捕获.

例外是Microsoft.Lync.Model.NotInitializedException类型

解决方法

我发现Lync对于它执行操作的线程非常有用.我们看到的一些最奇怪的行为是,在预期会在创建会议/对话的线程上进行调用,而是在另一个线程上调用.没有看到异常绝对是这些场景中的一个奇怪之处.

如果我是你,我会专门执行一个线程来执行Lync操作,并在需要的地方将这些操作引入其中(可能有任何回调使接口变得干净整洁).

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

猜你在找的C#相关文章