我有一个保存在SQL2005报告服务器上的报告,我想返回此报告的呈现PDF.我在使用本地*.rdlc文件时已经想到了这一点(我已经在博客上发表过这篇文章),但是当*.rdl驻留在报表服务器上时却没有.我在线上收到401 Not Notized错误...
reportViewer.ServerReport.SetParameters(reportDefinition.ReportParameters);
Run Code Online (Sandbox Code Playgroud)
这是用于呈现报告的方法.
public byte[] Render(IReportDefinition reportDefinition)
{
var reportViewer = new ReportViewer();
byte[] renderedReport;
try
{
var credentials = new WindowsImpersonationCredentials();
reportViewer.ServerReport.ReportServerUrl = new Uri("http://myssrsbox", UrlKind.Absolute);
reportViewer.ServerReport.ReportServerCredentials = credentials;
reportViewer.ServerReport.ReportPath = reportDefinition.Path;
// Exception is thrown on the following line...
reportViewer.ServerReport.SetParameters(reportDefinition.ReportParameters);
string mimeType;
string encoding;
string filenameExtension;
string[] streams;
Warning[] warnings;
renderedReport = reportViewer.ServerReport.Render(reportDefinition.OutputType, reportDefinition.DeviceInfo, out mimeType, out encoding, out filenameExtension, out streams, out warnings);
}
catch (Exception ex)
{
// …Run Code Online (Sandbox Code Playgroud)