ABCpdfCE7.dll заблокирован IIS - PullRequest
0 голосов
/ 22 марта 2011

У меня есть сайт в ASP.Net, который генерирует PDF с помощью стороннего приложения под названием ABCPdf.ABCPdf состоит из двух DLL: ABCpdf.dll и ABCpdfCE7.dll.ABCpdf.dll - это .NET-оболочка для неуправляемого ABCpdfCE7.dll.

Как только будет создан файл PDF.ABCpdfCE7.dll заблокирован IIS (т.е. не может переименовать или удалить его), если я не перезапущу пул приложений или не перезапущу IIS.Это вызывает проблему при обновлении моего веб-сайта, поскольку мы не можем перезаписать файл ABCpdfCE7.dll.

Есть ли способ освободить ресурс, блокирующий файл ABCpdfCE7.dll, в .Net?Перезапуск IIS или перезапуск пула приложений при каждом обновлении не является решением, поскольку на нем запущено несколько веб-сайтов.

Я удаляю объект из библиотеки PDF каждый раз

Using theDoc As New Doc

    // Generate the pdf

    theDoc.Clear()
End Using

1 Ответ

2 голосов
/ 22 марта 2011

Как часто меняется ABCpdfCE7.dll?Я представляю себе не слишком часто, так почему вы продвигаете его с каждым обновлением, просто оставьте это без внимания.

Плюс, просто еще пара замечаний:

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

ABCPdf, в зависимости от того, как вы его используете,порождает экземпляр Internet Explorer для рендеринга HTML в PDF.Вы можете проверить диспетчер задач, чтобы увидеть, работает ли IE в фоновом режиме, и если это так, его устранение может решить ваши проблемы, хотя я не знаю, как вы могли бы избежать возможного убийства чьей-либо работы в PDF.

...