初始化视频通话时偶尔抛出 UnauthorizedAccessException

UnauthorizedAccessException ocassionally thrown when initializing a video call

使用 Lync 2013 C# SDK 与 2015 Skype For Business 交互时,有时当我发起视频通话时,我的应用程序会进入 Lync 反复抛出 UnauthorizedAccessException 的状态。与 this question 类似,我 运行 Skype for Business (15.0.4569.1506) 处于 UISuppression 模式,当我设置视频所有者时会出现此问题 window。

System.Windows.Threading.DispatcherUnhandledExceptionEventArgs — System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at Microsoft.Office.Uc.VideoWindowClass.set_Owner(Int32 Owner)
at Microsoft.Lync.Model.Conversation.AudioVideo.VideoWindow.set_Owner(Int32 value)

关闭应用程序并重新启动它可以暂时解决问题,但它再次出现。重现问题是不可预测的。

什么会导致这种情况看似随机发生,然后在其他时候完美运行?

Related MSDN discussion

我们终于能够始终如一地重现这个问题。 每当我们以管理员身份 运行 我们的应用程序时,我们都会看到 UnauthorizedAccessException。

幸运的是,我们的应用程序不需要提升权限。我们的解决方案是阻止我们的应用程序以提升的权限启动。

我们也考虑过在没有提升权限的情况下启动 Skype 客户端,但第一种方法解决了我们的问题。