我的代码使用:
WebAuthenticationResult WebAuthenticationResult = await
WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None,
StartUri,
EndUri); 就像Microsoft Web authentication broker sample一样
它曾经在我的桌面和我的平板电脑(Surface)上工作,但现在它不能在我的桌面上工作。它抛出异常
The process terminated unexpectedly. (Exception from HRESULT: 0x8007042B)它可以在平板电脑和不同的windows-8桌面上运行。
有什么建议会导致这种异常吗?
发布于 2013-01-08 08:57:58
我不确定,但我认为WebAuthBroker需要在UI线程上调用,因为它试图通过显示弹出窗口的方式来更改UI。
发布于 2015-02-26 08:55:35
WebAuthenticationBroker.AuthenticateAsync启动AuthHost.exe进程作为app进程的子进程,异常返回的HRESULT指示AuthHost.exe意外失败。启动时,AuthHost会尝试清除非单点登录容器中的cookies、内容和历史记录,如果失败,它会放弃。另一方面,Windows应用程序在沙箱中运行,具有与桌面应用程序不同的一组权限。因此,Internet Explorer本身或执行单点登录的桌面应用程序可能能够正常工作,但AuthHost不允许在启动时执行所需的清理。在我的例子中,运行应用程序的用户是被授予对文件夹的完全访问权限的组的一部分,但用户本身没有直接文件访问权限。然而,在应用程序沙箱中,组权限被剥离。在默认设置中,权限配置正确,应该不会出现此类问题。但是,在将来的情况下,用户将临时Internet文件移动到新位置,该位置可能具有略有不同的文件访问权限集。这个帖子上的另一个回复建议,删除并重新创建配置文件会有所帮助。此操作将Internet Explorer中的临时Internet文件设置重置为默认值,间接支持我的建议。
https://stackoverflow.com/questions/13470843
复制相似问题