c# - 从 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
这个错误我已经好几天了,我无法解决它
感谢您的关注。
解决方案
没有任何代码很难调试您的应用程序。但是“内存不足”异常通常是变量太大而无法存储在您的内存中
从您的错误代码来看,您尝试处理的图像似乎太大,您的程序无法处理。尝试缩小导致错误的图像
推荐阅读
- python - df.plot.line() 是 matplotlib 还是 seaborn?(Python 3)
- java - 无法理解嵌入在数据类结构中的对象数组
- windows-10 - !process 0 0 - NT 符号不正确,请修正符号
- python-3.x - 如何将列表更改为队列?
- java - Spring Boot在Eclipse中找不到或加载主类错误
- android - 将一项活动拆分为多个 XML 文件?
- opencv - Google Coral Model (MobileNet SSD v2 (Faces)) 盒子太大
- azure - 如何使用 DevOps 发布管道设置 Azure 应用服务连接字符串
- c++ - 迭代器查询 C++
- r - 在R中应用函数将单行按组扩展到多行