C# Lync NotInitializedException在windows 8上不可修补

C# Lync NotInitializedException在windows 8上不可修补,c#,windows-8,try-catch,lync-client-sdk,C#,Windows 8,Try Catch,Lync Client Sdk,我使用lync Sdk在自己的wfp应用程序中停靠lync对话。 问题是,当我尝试这样对接对话时: public void Dock(Conversation conversation, IntPtr host) { try { ConversationWindow window = _automation.GetConversationWindow(conversation); if (window.State == ConversationWindowState.In

我使用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)
  {
  }
}
有时验证和停靠之间的window.State会发生变化,在windows 8上生成的异常似乎无法捕获,并导致我的应用程序崩溃,而在windows 7上,异常只是捕获


该异常属于Microsoft.Lync.Model.NotInitializedException类型

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

如果我是你的话,我会用一个线程来执行Lync操作,并在需要的地方插入这些操作(可能通过任何回调来使界面美观整洁)


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

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


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

您能否使用应用程序(App.cs)捕获异常DispatcherUnhandledException事件?不,我已经用OnDispatcherUnhandledException捕获了未处理的异常,但似乎根本没有引发异常,应用程序只是崩溃。你能发布引发异常的线程的调用堆栈吗?如果它不在dispatcher线程上,并且线程不是由您启动的,则您可能必须在
AppDomain
级别捕获它。使用反汇编程序并查看该异常的定义,以查看它是否继承自异常。微软有一个不遵守他们告诉我们要遵守的规则的习惯。例如,捕获SQL异常通常需要捕获基本SQL异常类,否则您将永远无法捕获它们。您还可以显式地捕获该异常类型是的,我试图显式地捕获错误,但在这种情况下它不起作用。对不起,我迟了回答。我会试着像你建议的那样使用反汇编程序。谢谢