由IIS锁定的ABCpdfCE7.dll

时间:2011-03-22 14:19:38

标签: .net unmanaged abcpdf

我在ASP.Net中有一个网站,它使用名为ABCPdf的第三方应用程序生成PDF。 ABCPdf由两个dll组成:ABCpdf.dll和ABCpdfCE7.dll。 ABCpdf.dll是非托管ABCpdfCE7.dll的.NET包装器。

生成pdf后立即生效。 IIS将锁定ABCpdfCE7.dll(即无法重命名或删除它),我无回复应用程序池或重新启动IIS。这会在更新我的网站时导致问题,因为我们无法覆盖ABCpdfCE7.dll。

无论如何都要释放在.Net中锁定ABCpdfCE7.dll的资源?在每次更新时重新启动IIS或回收应用程序池都不是解决方案,因为我在其上运行了多个网站。

我每次都从PDF库中处理对象

Using theDoc As New Doc

    // Generate the pdf

    theDoc.Clear()
End Using

1 个答案:

答案 0 :(得分:2)

ABCpdfCE7.dll多久更改一次?我想的不是经常,所以你为什么要在每次更新时推动它,只是把它留下来。

另外,还有几点意见:

回收应用程序池可以保留会话,因此除了性能之外,它不会对您的用户产生任何影响,如果您正在缓存大量昂贵的资源,并且有人会受到第一次打击。

ABCPdf根据您的使用方式,生成Internet Explorer实例以将HTML呈现为PDF。您可以检查任务管理器以查看IE是否在后台运行,如果是,则查杀它可以解决您的问题,但我不知道您将如何避免可能会杀死某人的PDF作业。