Asp.net Abcpdf投掷系统.ExecutionEngineeException

Asp.net Abcpdf投掷系统.ExecutionEngineeException,asp.net,vb.net,abcpdf,Asp.net,Vb.net,Abcpdf,我有一些存储在字节数组集合中的pdf文件的二进制文件 我的目标是使用abcpdf将它们连接成一个.pdf文件,然后将新创建的文件流式传输到ASP.Net网站页面上的响应对象 我一直是这样做的: 开始循环 端环 这在95%的时间里都很好。但是,偶尔创建一个新的Doc对象会抛出System.ExecutionEngineeException并使CLR崩溃。它似乎与大量的PDF(有时仅2个)或大型PDF无关。这看起来几乎完全是随机的 这是这里描述的abcpdf中的一个已知错误(不是很好)。我遇到了一

我有一些存储在字节数组集合中的pdf文件的二进制文件

我的目标是使用abcpdf将它们连接成一个.pdf文件,然后将新创建的文件流式传输到ASP.Net网站页面上的响应对象

我一直是这样做的:

开始循环

端环

这在95%的时间里都很好。但是,偶尔创建一个新的Doc对象会抛出System.ExecutionEngineeException并使CLR崩溃。它似乎与大量的PDF(有时仅2个)或大型PDF无关。这看起来几乎完全是随机的

这是这里描述的abcpdf中的一个已知错误(不是很好)。我遇到了一个建议对abcpdf Doc对象使用using块的例子

所以现在我要做的是:

    Using doc As New Doc
        'Read the binary of the current PDF
        doc.Read(bytes)
        'Append to the master merged PDF doc
        _mergedPDFDoc.Append(doc)
    End Using
我还没有看到这个问题再次出现,我一直在尽我所能地测试一个版本


有没有人有过类似的经历?这个问题解决了吗?

当CLR中出现内部错误时,会引发ExecutionEngineeException,因此这是Microsoft需要解决的问题

因此,在using或try catch块中包装代码不太可能起作用

webSupergoo网站上提到的问题与.NET3.5SP1有关,以及如何将安全属性应用于程序集。我在调试网页时发现此错误,并怀疑此问题也与ASP.NET动态编译有关

ABCpdf 7.010版及更高版本解决了该问题。为一个愚蠢的问题道歉,但是你试过最新版本吗

您可以使用PDFSettings实用程序检查当前安装的ABCpdf版本,该实用程序位于Windows开始菜单>程序>ABCpdf 7.0.NET


如果更新ABCPDF不是一个选项,那么您可能需要考虑卸载.NET 3.5 SP1../P>FWIW,我不知道如何修复这个bug,或者如果<>代码>使用< /Calp>将继续阻止它,但我使用ItExtEffice PDF库进行几乎相同的事情,并且没有任何问题(并且我将100个文档添加到一起)感谢您的响应。我确实在webSupergoo网站上看到了这个项目。不幸的是,我无法控制升级。奇怪的是,仍然没有看到问题再次出现,尽管我同意你的观点,没有理由使用块应该有所帮助。我猜它只是走运了?

    Using doc As New Doc
        'Read the binary of the current PDF
        doc.Read(bytes)
        'Append to the master merged PDF doc
        _mergedPDFDoc.Append(doc)
    End Using