2016-12-01 64 views
0

我有一个队列触发的Azure函数,它需要一个ID,使用该ID运行SQL查询,将查询结果放入DataTable中,并将DataTable传递给Telerik Reporting以生成PDF 。通过Azure函数生成PDF

运行时,下面的错误是从内部Telerik的抛出:

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) 
    at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 reports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback) 
    at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRender(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback) 
    at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRenderStateless(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback) 
    at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo) 

在Telerik的亲人的建议是:http://www.telerik.com/support/kb/reporting/details/outofmemoryexception-on-exporting-or-printing-telerik-report-from-azure-websites,但是我看不到的方式将这些设置应用到Azure的功能(假设与问题有关)。

任何人都成功地从Azure函数生成PDF或有任何指示下一步要尝试什么?

+0

好吧,尝试在S1应用托管计划上托管Azure功能,如文档所述 – 4c74356b41

回答

1

德鲁, GDI +的确在沙箱中受到限制。您是否正在执行消费计划?该文件确实说明您需要在基本层或标准层上运行。

此外,通过Azure的功能,你现在还没有进入web.config文件,所以如果你需要让他们推荐(用于一些 PDF功能)的修改,这将是一个限制,你不会现在能够解决问题。

0

SSRS ReportViewer控件是否可用于Azure功能中的消费计划?我可能会调用.csx中的C#dll吗?如果是的话,你如何使用昨天发布的新的visual studio 2015预览工具?