特定の 2008 R2 環境では、コントロールCOMExceptions
を使用するとエラーが発生します。System.Windows.Forms.WebBrowser
プロパティを介してコンテンツを指定するか、URL パラメーターを使用しDocumentText
てメソッドを呼び出すかに関係なく、同じ例外が発生します。Navigate
COMException - COM コンポーネントの呼び出しからエラー HRESULT E_FAIL が返されました。
でSystem.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Refresh()
指定する前にScrollBarsEnabled
プロパティを設定するとこの例外が発生することがわかりました。これは、ブラウザーにコンテンツがないときにメソッド (上記参照) を呼び出した結果のようです (最後の投稿はこちら)。これを回避するには、いくつかのモック コンテンツを設定して. ただし、これを行っても、後でコンテンツをロードするときに上記の例外が発生します (別のスレッドで実行されます)。WebBrowser
DocumentText
Refresh
Application.DoEvents()
DocumentCompleted
指定したデリゲートがヒットしていることに注意してください。ただしWebBrowser.axIWebBrowser2.StatusText
、例外が発生したことを示しており、WebBrowser.Document
は空です。
問題を再現する簡単なアプリを作成することもできますが、デバッグするには、バグが再現可能な 2008 R2 インスタンスを見つける必要があります。おそらくCOMセキュリティなどに関連して、何が問題に影響を与えているか、または問題を引き起こしているかについて誰かが考えているかどうかをもっと尋ねています.
WebBrowser
状態で実行していることに注意してくださいSTA Apartment
。
アイデアや提案は大歓迎です。前もって感謝します!-マックス