2016-12-01 67 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預覽工具?