6

私のコードは次を使用します:

WebAuthenticationResult WebAuthenticationResult = await
WebAuthenticationBroker.AuthenticateAsync( 
                                        WebAuthenticationOptions.None, 
                                        StartUri, 
                                        EndUri); 

Microsoft Web 認証ブローカーのサンプルと同様

以前はデスクトップとタブレット (Surface) で動作していましたが、現在はデスクトップでは動作しません。例外をスローします

The process terminated unexpectedly. (Exception from HRESULT: 0x8007042B)

タブレットと別の windows-8 デスクトップで動作しています。

この例外を引き起こす可能性のある提案はありますか?

4

2 に答える 2

0

よくわかりませんが、ポップアップを表示する方法でUIに何かを変更しようとしているため、WebAuthBrokerをUIスレッドで呼び出す必要があると思います。

于 2013-01-08T00:57:57.840 に答える
0

WebAuthenticationBroker.AuthenticateAsync は、アプリ プロセスの子として AuthHost.exe プロセスを開始し、例外によって返される HRESULT は、AuthHost.exe が予期せず失敗したことを示します。起動すると、AuthHost は非 sso コンテナーから Cookie、コンテンツ、および履歴を消去しようとし、失敗した場合は元に戻します。一方、Windows アプリは、デスクトップ アプリケーションとは異なる一連のアクセス許可を持つサンドボックスで実行されます。したがって、Internet Explorer 自体または SSO を実行するデスクトップ アプリケーションは正常に動作する可能性がありますが、AuthHost は起動時に必要なクリーンアップを実行できません。私の場合、アプリを実行しているユーザーは、フォルダーへのフル アクセスが許可されたグループの一部でしたが、ユーザー自体にはファイルへの直接アクセス許可がありませんでした。ただし、アプリ サンドボックスではグループ権限が剥奪されました。デフォルト設定では、アクセス許可が適切に構成されており、そのような問題は発生しません。ただし、場合によっては、ユーザーがインターネット一時ファイルを新しい場所に移動すると、ファイル アクセス許可のセットがわずかに異なる場合があります。このスレッドの他の回答は、プロファイルを削除して再作成すると役立つことを示唆しています。この操作により、Internet Explorer のインターネット一時ファイルの設定がデフォルトにリセットされ、私の提案が間接的に支持されます。

于 2015-02-26T00:55:34.507 に答える