首页 > 解决方案 > 从 reportviewercontrol 处理 PDF 时出现 System.OutOfMemoryException

问题描述

创建报表查看器时出现以下异常,我使用存储过程从 SQL 数据库中获取信息,当它尝试处理报表时会发生以下情况:

消息:本地报告处理期间发生错误..

InnerException:System.ArgumentException:参数无效。

CreateAndRegisterStream createAndRegisterStream) 在 Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(报告报告,NameValueCollection reportServerParameters,NameValueCollection deviceInfo,NameValueCollection clientCapabilities,Hashtable 和 renderProperties,CreateAndRegisterStream createAndRegisterStream)。StackTrace:在 Microsoft.Reporting.WebForms.LocalReport.InternalRender(字符串格式,布尔值 allowInternalRenderers,字符串 deviceInfo,PageCountMode pageCountMode,CreateAndRegisterStream createStreamCallback,警告 []& 警告)处 Microsoft.Reporting.WebForms.LocalReport.InternalRender(字符串格式,布尔值 allowInternalRenderers , 字符串 deviceInfo, PageCountMode pageCountMode, String& mimeType, String& 编码, String& fileNameExtension, String[]& 流, 警告[]& 警告)在 Microsoft.Reporting.WebForms.LocalReport.Render(字符串格式,字符串设备信息,PageCountMode pageCountMode,字符串和 mimeType,字符串和编码,字符串和文件名扩展,字符串 [] 和流,警告 [] 和警告)在 AppSingless472.App_Tools.PdfCreatorBase。 AppSingless472.WebApiController.SoporteController.SoporteEntregaConFoto(FormData formData,HttpRequestMessage 请求)处的 GetArryBytesPdfConFoto(Int32 IdGuiaSoporte)。TargetSite:无效内部渲染(System.String,布尔,System.String,Microsoft.Reporting.WebForms.PageCountMode,Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream,Microsoft.Reporting.WebForms.Warning[] ByRef)。在 AppSingless472.App_Tools.PdfCreatorBase.GetArryBytesPdfConFoto(Int32 IdGuiaSoporte) 在 AppSingless472.WebApiController.SoporteController.SoporteEntregaConFoto(FormData formData, HttpRequestMessage request) 的 fileNameExtension、String[]& 流、Warning[]&warnings)。TargetSite:无效内部渲染(System.String,布尔,System.String,Microsoft.Reporting.WebForms.PageCountMode,Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream,Microsoft.Reporting.WebForms.Warning[] ByRef)。在 AppSingless472.App_Tools.PdfCreatorBase.GetArryBytesPdfConFoto(Int32 IdGuiaSoporte) 在 AppSingless472.WebApiController.SoporteController.SoporteEntregaConFoto(FormData formData, HttpRequestMessage request) 的 fileNameExtension、String[]& 流、Warning[]&warnings)。TargetSite:无效内部渲染(System.String,布尔,System.String,Microsoft.Reporting.WebForms.PageCountMode,Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream,Microsoft.Reporting.WebForms.Warning[] ByRef)。

以下错误偶尔会在生产中发生(我从 Azure 收到此错误)

System.OutOfMemoryException 消息 TaskScheduler 引发了异常。引发了“System.OutOfMemoryException”类型的异常。
异常类型 System.OutOfMemoryException 方法失败 MultipartDataMediaFormatter.Converters.HttpContentToFormDataConverter+d__0.MoveNext

这个错误我已经好几天了,我无法解决它

感谢您的关注。

标签: c#sql.netazurereporting

解决方案


没有任何代码很难调试您的应用程序。但是“内存不足”异常通常是变量太大而无法存储在您的内存中

从您的错误代码来看,您尝试处理的图像似乎太大,您的程序无法处理。尝试缩小导致错误的图像


推荐阅读