我的rdlc报告存在以下问题。我正在创建一个asp.net MVC应用程序,需要使用报告。我的所有报告都可以在我的本地计算机上正常运行,但在azure网站上,我总是得到这个错误:
Error.
An error occurred while processing your request.
在我的azure bin文件夹中,我有以下dll' s
Microsoft.ReportViewer.Common
Microsoft.ReportViewer.DataVisualization
Microsoft.ReportViewer.ProcessingObjectModel
Microsoft.ReportViewer.WebForms
Microsoft.ReportViewer.WinForms
并有一个文件夹报告,其中包含我的所有报告。
我还将我的报告属性Build Action更改为内容,但仍然没有。有谁知道如何解决这个问题。
我正在使用的代码并在我的localhost上正常工作
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);
答案 0 :(得分:3)
Azure App Service应用程序在称为沙箱的安全环境中运行,以隔离应用程序。 这个沙箱阻止了各种API调用,比如GDI + API。 问题可能来自这个限制。 有关更多信息,请参阅以下文档页面:https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox