Telerik Reporting在本地生成pdf,但不在Azure上生成

时间:2016-08-24 21:47:22

标签: c# azure reporting-services telerik azure-web-sites

我使用Telerik在C#中将一些简单文本渲染为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应用服务的方式的问题。这是我的配置: - 地点:美国西部(我们位于犹他州) - 具有1 GB存储空间并由2 App Services使用的“F1免费”定价层(也是美国西部)

我的Azure应用服务配置是否遗漏了什么?

1 个答案:

答案 0 :(得分:7)

Azure的免费定价层目前不支持GDI +,Telerik Reporting将其用于呈现为PDF。您的Azure应用服务必须使用基本或标准模式,而不是免费或共享模式。 Microsoft在2014年部署了此功能,在Telerik论坛中提到:

http://www.telerik.com/forums/out-of-memory-in-azure-websites#yDA-ydAnBEOF0qKbHljCvw