ABCpdfCE7.dll заблокирован IIS
У меня есть сайт в 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 ответ
Как часто меняется ABCpdfCE7.dll? Я представляю не так часто, так почему вы продвигаете его с каждым обновлением, просто оставьте это.
Плюс еще пара замечаний:
Повторное использование пула приложений сохраняет сеансы, поэтому оно не должно оказывать никакого влияния на ваших пользователей, кроме производительности, если вы кэшируете много дорогих ресурсов, и кто-то получит задержку первого попадания.
ABCPdf, в зависимости от того, как вы его используете, порождает экземпляр Internet Explorer для рендеринга HTML в PDF. Вы можете проверить диспетчер задач, чтобы увидеть, работает ли IE в фоновом режиме, и если это так, его устранение может решить ваши проблемы, хотя я не знаю, как вы могли бы избежать возможного уничтожения чьей-либо работы в PDF.