У меня есть приложение, которое снимает скриншот веб-страниц и создает уменьшенное изображение. Приложение в основном загружает веб-страницу, которая вызывает ActiveX для загрузки веб-страницы с использованием ресурсов IE и снятия скриншота. Это приложение работает на Windows Server 2003 без каких-либо проблем в течение нескольких лет.ActiveX не может отображать страницу, размещенную на том же сервере
Но теперь, когда я обновил сервер до Windows Server 2008, действие скриншота отключается. Из тестов я вижу, что он успешно выполняет скриншот любой веб-страницы, размещенной в Интернете ... кроме страниц, размещенных на одном сервере.
Всякий раз, когда он пытается захватить страницу, загруженную на сайт, размещенный на том же сервере, что и приложение, время истекает. ESC отключен, и кажется, что все другие разрешения в порядке, то есть: он работает для удаленных страниц, но для домашних страниц.
Любые идеи относительно того, что может быть причиной этого и как его исправить?
После дальнейших испытаний я сузил причину отказа из-за того, что страница была пополнена из записи базы данных MS-SQL на том же сервере, что и тот, который снимает скриншот. Та же самая страница, сгенерированная на удаленном сервере, фиксируется нормально. Я также установил, что ошибка не свойственна DLL ACASystems, поскольку она также влияет на другую DLL для создания файлов MHT с веб-страниц. Эта DLL (Chilkat.MHT) также использует IE для загрузки и сборки веб-страницы на лету, а затем сохраняет ее как файл .mht.
Таким образом, проблема связана скорее с сборкой веб-страниц IE из MS-SQL при запуске ActiveX. Но решить эту загадку?
Исходный код для элемента управления ActiveX? Без этого я не вижу, как можно ответить на этот вопрос. Я не могу придумать, какова будет проблема, но есть более чем один способ скинуть кошку, и в программировании обычно используются десятки способов выполнения любой заданной задачи. Какой способ был выбран для взаимодействия с IE, я не мог догадаться. – Pete
Исходный код недоступен, так как это плагин для сторонних разработчиков, который используется на http://www.acasystems.com. Я успешно использовал его на Win2003 уже 4 года, а не на Win2008, он терпит неудачу. Я сделал несколько тестов, и он работает при захвате страницы на удаленном сервере. Он также работает при захвате страницы на локальном сервере. Но это не удается при захвате страницы на локальном сервере, которая извлекает записи из базы данных MS-SQL. Если бы я мог вспомнить, как я решил эту проблему 4 года назад. – WilliamK