2

Azure WebRole でいくつかのブラウザー自動化タスクを実行しようとしていますが、IE ブラウザー インスタンスをインスタンス化しようとすると、次のエラーが発生します。

System.UnauthorizedAccessException: CLSID {0002DF01-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリの取得は、次のエラーのために失敗しました: 80070005 アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))。

コードは Azure エミュレーターで正常に実行されます。

少し読んだ結果、DCOMCNFG ユーティリティを使用してアクセス許可を変更し、IIS ユーザーが IE インスタンスを起動できるようにする必要があるという結論に達しましたが、上記の CLSID が参照する AppID は DCOMCNFG にリストされていません。ユーティリティはどこにでもあるので、これらの権限を変更することはできません。

誰にもアイデアはありますか?私はもう途方に暮れています。

ありがとう!
クリス

4

1 に答える 1

1

各要素 ( / ).csdef内に以下を追加してファイルを変更し、昇格したコードを実行してみてください。*RoleWebRoleWorkerRole

<Runtime executionContext="elevated" />

これにより、ローカル システム アカウントとしてコードが実行されます。

于 2012-12-19T09:02:21.523 に答える