gpt4 book ai didi

asp.net-mvc - 将 rdlc 报告渲染为 PDF 在 Azure 网站上不起作用

转载 作者:行者123 更新时间:2023-12-02 08:07:52 25 4
gpt4 key购买 nike

我的 rdlc 报告遇到以下问题。我正在创建一个 asp.net MVC 应用程序并需要使用报告。我的所有报告在我的本地计算机上工作正常,但在 azure 网站上我总是收到此错误:

Error.
An error occurred while processing your request.

在我的 azure bin 文件夹中,我有以下 dll

Microsoft.ReportViewer.Common
Microsoft.ReportViewer.DataVisualization
Microsoft.ReportViewer.ProcessingObjectModel
Microsoft.ReportViewer.WebForms
Microsoft.ReportViewer.WinForms

并有一个报告文件夹,其中包含我的所有报告。

我也已将报告属性“构建操作”更改为内容,但仍然没有任何结果。有谁知道如何解决这个问题。

我正在使用的代码在我的本地主机上运行良好

        LocalReport lr = new LocalReport();
string path = System.IO.Path.Combine(Server.MapPath("~/Reports"), "Model1.rdlc");
if (System.IO.File.Exists(path))
{
lr.ReportPath = path;
}
else
{
return View();
}

ReportDataSource rd = new ReportDataSource("Model1");
lr.DataSources.Add(rd);
string reportType = id;
string mimeType;
string encoding;
string fileNameExtension;

string deviceInfo =

"<DeviceInfo>" +
" <OutputFormat>" + id + "</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.2in</MarginTop>" +
" <MarginLeft>0.1in</MarginLeft>" +
" <MarginRight>0.1in</MarginRight>" +
" <MarginBottom>0.3in</MarginBottom>" +
" <orientation>Landscape</orientation>" +

"</DeviceInfo>";

Warning[] warnings;
string[] streams;
byte[] renderedBytes;

renderedBytes = lr.Render(
reportType,
deviceInfo,
out mimeType,
out encoding,
out fileNameExtension,
out streams,
out warnings);

return File(renderedBytes, mimeType);

最佳答案

Azure 应用服务应用程序在称为沙箱的安全环境中运行,以隔离应用程序。该沙箱会阻止各种 API 调用,例如 GDI+ API。问题可能来自于这个限制。请参阅以下文档页面了解更多详细信息:https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox

关于asp.net-mvc - 将 rdlc 报告渲染为 PDF 在 Azure 网站上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com