我們有一個asp.net 3.5應用程序,允許用戶生成許多圖表並通過pdf導出它們。這適用於較小的pdf(少於100頁),但是當我們做的較大時,我們會得到隨機錯誤。一些我們所看到的錯誤是:winnovative pdf - 內存不足和其他隨機異常
--System.OutOfMemoryException
--Could不渲染HTML字符串。無法從html字符串中獲取圖片。嘗試設置LoadHtmlConcurrencyLevel = 1 ..
- 克隆錯誤。內存不足
- 超時等待轉換完成。 - 內存不足 - 內存不足。 在System.Drawing.Image.FromStream(流流,布爾useEmbeddedColorManagement,布爾validateImageData) 在System.Drawing.Image.FromStream(流流)
如果我多次運行大報告中,我通常會得到不同的異常。有時我可能會讓IIS崩潰,我必須執行iisreset才能恢復應用程序。
這是我們運行的代碼。我們使用圖表(png圖像)創建PDF文檔,然後將其導出到字節數組並放入內存流中。我們將內存流傳遞給旋轉某些圖像的函數等,然後調用doc.save方法將其導出。
Dim mainPageBytes() As Byte = PDF.GetBytes
Dim stream As New System.IO.MemoryStream(mainPageBytes)
Dim existingDoc As New PDFCreator.Document(stream)
Dim doc As PDFCreator.Document = GetDocument(mainPageBytes, GetChartingPageNumbers(PDF.ConversionSummary), pageOrientation, user, existingDoc)
doc.Save(response, True, Me.DocumentName)