바이트 배열 컬렉션에 저장된 여러 pdf 파일의 이진 파일이 있습니다.Abcpdf throwing System.ExecutionEngineException
내 목표는 다음 abcpdf을 사용하여 단일 .pdf 파일로를 연결하여 ASP.Net 웹 사이트의 페이지에 응답 객체가 새로 생성 된 파일을 스트리밍하는 것입니다.
은 다음과 같이 그 일을하고 있었다 :
이이 LOOP 을 BEGIN ...
'Create a new Doc
Dim doc As Doc = New Doc
'Read the binary of the current PDF
doc.Read(bytes)
'Append to the master merged PDF doc
_mergedPDFDoc.Append(Doc)
최종 LOOP 시간의 좋은 95 %를 일하는
. 그러나 지금은 새로운 Doc 객체를 만들면 System.ExecutionEngineException이 발생하고 CLR이 손상됩니다. 그것은 많은 수의 pdfs와 관련이없는 것 같고 (때로는 2 개만 생길 수도 있음) 또는 큰 크기의 pdfs와 관련이있는 것 같습니다. 그것은 거의 완전히 무작위로 보였다.
이 (안 아주 잘) 설명 abcpdf에서 알려진 버그 여기 Item 6.24이다. 나는 abcpdf Doc 객체에 Using 블록을 사용하도록 제안한 a helpful SO post을 보았습니다.
지금은이 일을 해요 그래서:
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에 내부 오류가있을 때
FWIW 나는이 버그를 해결하는 방법 또는 using'이 중지 계속'알고하지 않습니다하지만 난 거의 같은 일에 대한 iTextSharp의 PDF 라이브러리를 사용하고 문제가없는 (그리고 내가 추가 해요 함께 100s) – CResults