Telerik Reporting在本地生成pdf,而不是在Azure上生成pdf
本文关键字:pdf Azure Telerik Reporting | 更新日期: 2023-09-27 18:04:03
我在c#中使用Telerik将一些简单的文本渲染为PDF:
using Telerik.Reporting;
using Telerik.Reporting.Processing
...
ReportProcessor reportProcessor = new ReportProcessor();
InstanceReportSource instanceReportSource = new InstanceReportSource();
instanceReportSource.ReportDocument = new MyReport();
RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
这在本地工作得很好。
我已经设置了一个Azure应用程序服务,当我运行reportProcessor.RenderReport()时,我得到以下错误:
An error has occurred while rendering the report: System.ArgumentException: Parameter is not valid.
at System.Drawing.Graphics.GetHdc()
at Telerik.Reporting.Pdf.PdfContext..ctor()
at Telerik.Reporting.Pdf.PdfDocument..ctor()
at Telerik.Reporting.ImageRendering.DocumentPdf.FindOrCreateDocument()
at Telerik.Reporting.ImageRendering.DocumentPdf..ctor(PdfRenderingContext context, IMeasureContext measureContext)
at Telerik.Reporting.ImageRendering.PdfReport.CreateDocument(IDictionary renderingInfo, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.DocumentRenderingExtensionBase.CreateWriter(IDictionary renderingContext, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.ImageRendering.PdfReport.CreateWriter(IDictionary renderingContext, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
我觉得这可能是我配置Azure应用服务的方式有问题。这是我的配置:-地点:美国西部(我们位于犹他州)-"F1免费"定价层(也是美国西部),1gb存储空间,可供2个应用服务使用
我的Azure应用程序服务配置丢失了什么?
Azure的免费定价层目前不支持GDI+, Telerik Reporting使用GDI+来呈现PDF。您的Azure应用程序服务必须使用基本或标准模式,而不是免费或共享模式。微软在2014年部署了这个功能,在这里的Telerik论坛上提到过:
http://www.telerik.com/forums/out-of-memory-in-azure-websites yDA-ydAnBEOF0qKbHljCvw