2

Webページのスクリーンショットを撮り、サイズ変更された画像を作成するアプリがあります。アプリは基本的に、ActiveXを呼び出してIEリソースを使用してWebページをロードし、スクリーンショットを撮るWebページをロードしています。このアプリは、Windows Server 2003で数年間、問題なく実行されています。

しかし、サーバーをWindows Server 2008にアップグレードしたので、スクリーンショットアクションはタイムアウトになります。テストから、同じサーバーでホストされているページを除いて、インターネットでホストされているすべてのWebページのスクリーンショットを正常に取得できることがわかります。

アプリと同じサーバーでホストされているサイトに読み込まれたページをキャプチャしようとすると、タイムアウトになります。ESCは無効になっており、他のすべての権限は問題ないようです。つまり、リモートページでは機能しますが、ホームページでは機能します。

これを引き起こしている可能性のあるものとそれを修正する方法についてのアイデアはありますか?

さらにテストした後、スクリーンショットを撮っているサーバーと同じサーバー上のMS-SQLデータベースレコードからページが作成されたために失敗した理由を絞り込みました。リモートサーバーで生成された同じページがokをキャプチャします。さらに、このエラーはACASystems DLLに固有のものではないことを確認しました。これは、WebページからMHTファイルを作成するための別のDLLにも影響するためです。このDLL(Chilkat.MHT)も、IEを使用してWebページをその場でロードおよびアセンブルし、それを.mhtファイルとして保存します。

したがって、この問題は、ActiveXの実行中にMS-SQLからWebページを組み立てるIEに関連しています。しかし、この謎を解決するには?

4

2 に答える 2

0

多分ルーティングの問題(DNS / hostfile ..)?IEとのローカルセッションでページが読み込まれますか?

于 2013-03-22T14:09:54.263 に答える
0

ActiveXコードを編集せずにこれを解決することはできません。問題のDLLはサードパーティのリソースであるため、このような編集はできません。

スクリーンショットを撮るか、.mhtとして保存するWebページをロードする3つの異なるActiveXをテストした後、同じサーバーでSQLをクエリしているページをロードするときにすべてが失敗することがわかりました。3人のDLL開発者に連絡した後、ActiveXがMS-SQLに影響を与えないことを全員から通知されました。

残念ながら、私たちのテストはそうではないことを教えてくれます。この段階では推測が残っていますが、インプロセス実行とアウトプロセス実行に関するこの記事は関連している可能性があります。

この問題を解決するための回避策は、SQLクエリから入力するのではなく、ページに渡される要求クエリからキャプチャされるページをアセンブルすることでした。この代替は完全に機能します。

于 2013-03-25T23:35:08.317 に答える