2014-11-18 3 views
1

Я пытаюсь преобразовать URL-адрес в pdf с помощью evoPDF dll. Это выполняется нормально, когда я выполняю его на своей локальной машине, но терпит неудачу каждый раз, когда он размещен на сервере IIS. Ошибка приведена ниже.Загрузка ошибки HTML или таймаута навигации

Загрузить ошибку HTML или время перетаскивания.

Любое предложение будет высоко оценено в отношении возможной причины такого отказа.

ответ

3

Вы должны сначала проверить, что HTML-страница, которую вы конвертируете, доступна в браузере на сервере, на котором выполняется преобразование. Более подробную информацию вы можете найти на странице поиска и устранения неисправностей в онлайн-документации на веб-сайте EVO. Ниже приведена копия соответствующей информации:

Преобразование завершается с ошибкой «Навигация прервана», «Имя удаленного хоста не найдено», «Сообщение об удаленном сервере отказало» или «Неизвестная сетевая ошибка»

Эти сообщения об ошибках указывают на сетевую проблему, когда конвертер пытается получить доступ к HTML-странице для преобразования на сервере, на котором выполняется преобразование. Первое, что вы можете попробовать, это проверить, доступна ли страница HTML, которую вы конвертируете, в браузере на этом сервере. Важно войти на этот сервер и получить доступ к HTML-странице, потому что не редкость, что страница, размещенная на сервере, доступна извне сервера, но не из самого сервера из-за различных ограничений безопасности. Если страница HTML недоступна в браузере на сервере, вы должны работать с сетевым администратором, чтобы сделать ее доступной.

«Навигация прервана» также может возникать, когда HTML-страница занимает слишком много времени, чтобы ее можно было загрузить. В этом случае вы можете просто увеличить HtmlToPdfConverter. Значение свойства NavigationTimeout.

Если HTML-страница доступна, но вы все равно получаете сетевую ошибку в конвертере, вы должны проверить, использует ли браузер на сервере какие-либо настройки прокси для доступа к странице HTML. Если вы найдете такие параметры прокси-сервера, вы должны установить одинаковые параметры в конвертере, как описано в разделе «Параметры прокси». Если HTML-страница требует аутентификации, вы должны ее разрешить на основе информации из раздела «Обработка аутентификации».

Если причина проблемы не является одной из возможных причин, упомянутых выше, то вы должны искать проблему в удостоверении пользователя, использующего конвертер, отличающийся от пользователя, выполняющего браузер. Когда вы заходите на сервер, вы запускаете браузер в контексте зарегистрированного пользователя, который обычно является администратором. Многие из сетевых механизмов, используемых при доступе к HTML-странице, могут быть основаны на идентификаторах пользователей и сетевых учетных данных. Например, встроенная проверка подлинности Windows или аутентификация прокси-сервера могут основываться на учетных данных пользователя, запускающего конвертер. Конвертер настроен по умолчанию для использования учетных данных пользователя, запускающего конвертер, но если вы запустите конвертер в ASP.NET, то пользователь, запускающий конвертер, является идентификатором пула IIS, который, скорее всего, не является администратором. Чтобы запустить конвертер в том же контексте, что и браузер, вам нужно либо установить идентификатор пула IIS для администратора, либо выполнить преобразование в настольном приложении Windows Forms на этом сервере.

При использовании конвертера в ASP.NET проблема может быть вызвана олицетворением, установленным в приложении ASP.NET. Когда вы используете олицетворение, вы ожидаете, что конвертер будет запущен в контексте олицетворенного пользователя, но это неверно, если вы не установите соответствующие параметры олицетворения в конвертере.

+0

Спасибо за спасение моего дня. – TypingPanda

0

netstat -a -n | найти «SYN»

довольно уверен, что у вас проблема с брандмауэром :-) У меня была такая же проблема, мой сайт ссылался на аналитику google, которая была заблокирована нашей fw.

Как настроить переход и визуализацию таймаута примерно на 10 секунд. Значения по умолчанию слишком высоки.

Я использую html-to-pdf, но, похоже, это решение для whitelabel, которое используется под разными именами.

0

Имейте в виду также, что если вы используете ASP.NET MVC и настройки HttpCookies, то контроллер, который хозяйничает PdfConverter должны быть отмечены:

[SessionState(SessionStateBehavior.ReadOnly)] 
Смежные вопросы