Не удалось получить заголовок результата конверсии.Ошибка передачи данных.Ошибка передачи данных 109 - PullRequest
5 голосов
/ 21 апреля 2019

Я использую "SelectPdf Html To Pdf Converter для .NET - Community Edition" для создания PDF-файлов.На сервере Live все работает нормально.Внезапно появляется ошибка, когда я пытаюсь сгенерировать pdf-файлы.

Если я перезагружаю свой сервер, он некоторое время работает нормально, но через некоторое время снова появляется ошибка.

Я использую последнюю версиюверсия библиотеки.Ниже приведены подробные сведения об ошибке

Не удалось получить заголовок результата преобразования.Ошибка передачи данных.Ошибка передачи данных 109

Сведения об ошибке

System.Exception
Не удалось получить заголовок результата преобразования.Ошибка передачи данных.Ошибка передачи данных 109

System.Exception: Не удалось получить заголовок результата преобразования.Ошибка передачи данных.Ошибка передачи данных 109

в SelectPdf.HtmlToImage. ᜀ (Строка A_0, Строка A_1, Строка A_2, & [] & A_3, ᣰ & A_4)
в SelectPdf.HtmlToPdf. ᜁ (Строка A_0, Строка A_1, Строка A_2, Строка A_3, Булево значение A_4)
в SelectPdf.HtmlToPdf.ConvertHtmlString (Строка htmlString, String baseUrl)
в BusinessLogic.SalaryManager.ConvertToPDF (SalarySlipEstra, String titleUring, стр. 10, строковый, строковый, строковый, строковый, стр. 10, стр.* в BusinessLogic.SalaryManager.PrintSlips (список 1 Ids, String baseUrl)<br> at SchoolMS.Web.Controllers.api.Manage.ApproveSalaryController.Post(List 1 идентификаторов, логическое isPrint)

1 Ответ

0 голосов
/ 09 мая 2019

Этот код ошибки просто указывает на то, что ожидаемый ответ не был получен.Это настоятельно предполагает, что ошибка на сервере помешала серверу завершить создание PDF должным образом.

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

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

Вы можете использовать sysinternals processExplorer & processMonitor, чтобы увидеть, какие ресурсы используются библиотекой SelectPDF, и наблюдать за любыми сбоями.

Другие сообщили о подобныхпроблем, и сайт SelectPDF содержит несколько советов по устранению неполадок здесь .

Распространенными ошибками на стороне сервера, которые могут вызвать вашу (повторяющуюся) проблему, могут быть такие, как эти:

  • Недостаточно памяти: System.OutOfMemoryException was thrown

  • Файл заблокирован другим процессом: ERROR_SHARING_VIOLATION.Проверьте список исключений антивируса на сервере и убедитесь, что необходимые файлы исключены из сканирования в режиме реального времени.

  • Превышено время загрузки для очень большой веб-страницы.Попробуйте увеличить время ожидания: converter.Options.MaxPageLoadTime = 120;

  • URL-адрес конвертируемой страницы неправильно разрешается на сервере, даже если он правильно разрешается на клиенте.

  • Размер файла может быть слишком большим.Если это является причиной, изменение web.config может решить проблему.

Возможное решение для файла слишком большого размера:

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1000000000"/> 
  </requestFiltering>
</security>

В ситуации, когда создание PDF никогда не работает, вот некоторыедругие вещи для рассмотрения:

  • Сбой из-за Error_Access_Denied.Неправильные (недостаточные) разрешения на сервере.В частности, разрешения на выполнение необходимы для Select.Html.dep .

  • Вероятно, создание PDF происходит в рабочем потоке, и контекст выполнения должен это разрешать.

  • Неправильная версия конвертера (32 против64 бита).

  • Отсутствуют .dat или .xml файлы на сервере

  • Проблемы с доверием (попробуйте <system.web> <trust level="Full" />)

  • Смешивание версий, предназначенных для запуска в веб-ролях, и версий, предназначенных для запуска на веб-сайтах (Azure)

  • Недостаточно памяти.

...