2012-11-20 6 views
6
をスロー

私のコードは、使用しています。ただそれは私のデスクトップ上に、私のタブレット(表面)が、今、それは私のデスクトップ上で動作していない上で動作するために使用Microsoft Web authentication broker sampleWebAuthenticationBroker.AuthenticateAsyncが例外

よう

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

を。例外をスローする

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

これはタブレットとさまざまなWindows-8デスクトップで動作しています。

何がこの例外を引き起こす可能性がありますか?

+0

WebAuthenticationBrokerはWinRTでしか動作しないようです。 – tofutim

+0

問題は、UIスレッドのみで問題が発生する可能性があります。 – BenCr

+0

まだ実行していない場合は、WebAutheticationBrokerの特定のイベントログがあります。これを参照してください... http://msdn.microsoft.com/en-us/library/windows/desktop/jj658959(v=vs.85).aspx – BenCr

答えて

0

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

0

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