0

Watinおよびを使用してHttpWatch、いくつかの本番サイトをチェックするアプリケーションがあります。私たちは定期的にアプリケーションの応答時間をチェックしており、そのためにこのアプリケーションを使用しています。

HttpWatchIE インスタンスを開き、いくつかの構成を設定した後、このインスタンスをプラグインにアタッチします。アプリケーションは、Windows Server 2003 で完全に正常に動作しています。

ただし、Windows Server 2008 でこのアプリケーションを実行すると、次のエラーが発生します。

タイプ 'HttpWatch.ControllerClass' の COM オブジェクトをインターフェイス タイプ 'HttpWatch.IController' にキャストできません。IID '{21828BF3-DA77-4FC1-968E-FC7A46AEC19A}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーのために失敗したため、この操作は失敗しました: No such interface supported (HRESULT からの例外: 0x80004002 (E_NOINTERFACE)) .

多くのことを試しましたが、この問題を解決できませんでした。また、必要な Windows Server 2008 バージョン用の最新の DLL をリンクから入手したため、配置Interop.HttpWatch.dllInterop.SHDocVw.dllました。

4

2 に答える 2

0

これが 2003 -> 2008 移行または 32 ビット -> 64 ビットによるエラーかどうかを確認します。

COM で同様のエラーが発生し、場合によってはコンパイルを 32 ビットに変更する必要があります。

于 2013-03-01T16:31:57.010 に答える
0

最後にこの問題を修正しました。

次のように発生していた問題:

プロジェクトはターゲット バージョン用にビルドされました -- すべての CPU

このプロジェクトでは、Watin の InternetExplorer クラスを使用しました。私たちのマシンの IE のターゲット バージョンは x86 ですが、私のマシンは x64 です。(Windows Server 2008 R2)

そのため、アプリケーションが x64 固有のワーカー プロセスを x86 IE インスタンスにアタッチしようとすると、上記のエラーが発生していました。

x86 プラットフォーム用にプロジェクトを再構築したところ、アプリケーションは完全に正常に動作するようになりました。

同じ問題が発生した場合は、この方法で試してみてください。それが役立つかどうか教えてください!

よろしく、

ヴァルン・シュリンガルピュア

于 2013-03-06T10:40:47.270 に答える