c# - 从 SSRS 服务器加载 SSRS 报告时出错
问题描述
在我的 mvc 项目中,报告部署在单独的 SSRS 服务器上,我们在 iframe 的帮助下加载 SSRS 报告,问题是它在使用 iframe 访问报告时要求用户名和密码。要删除用户 id 和密码提示,我试图实现此链接上提供的解决方案 ,我更改了 ReportTemplate.aspx.cs 文件中的代码,如下所示以发送引用此链接的凭据:
rvSiteMapping.Width = 800;
rvSiteMapping.Height = 600;
rvSiteMapping.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials irsc = new CustomReportCredentials(@"userid", "password", @"\");
rvSiteMapping.ServerReport.ReportServerCredentials = irsc;
rvSiteMapping.ShowCredentialPrompts = true;
rvSiteMapping.ServerReport.ReportServerUrl = new Uri("http://12.25.2.24/Reports");
rvSiteMapping.ServerReport.ReportPath = "/report/AssetDetail";
rvSiteMapping.ServerReport.Refresh();
我收到以下错误:
底层连接已关闭:发送时发生意外错误。无法从传输连接读取数据:现有连接被远程主机强行关闭。现有连接被远程主机强行关闭
然而,它在下面的代码中工作得很好:
rvSiteMapping.Width = 800;
rvSiteMapping.Height = 600;
rvSiteMapping.ProcessingMode = ProcessingMode.Local;
ReportsDataSet ds = new ReportsDataSet();
var connectionString = ConfigurationManager.ConnectionStrings["LowryATS_Tenant2ConnectionString"].ConnectionString;
SqlConnection conx = new SqlConnection(connectionString);
SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM Assets", conx);
adp.Fill(ds, ds.Assets.TableName);
rvSiteMapping.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"AssetReport.rdlc";
rvSiteMapping.LocalReport.DataSources.Add(new ReportDataSource("ReportsDataSet", ds.Tables[0]));
谁能帮我解决这个问题。我们在 ssrs 服务器上使用 ssrs 2016。
解决方案
推荐阅读
- reactjs - 在我的 React JS 应用程序中,我的 onClick 函数是在加载时发生的,而不是在我单击按钮时发生的。尝试对 JSON 数组进行排序
- squirrel - 我如何确保 quirrel 中存在路径
- math - 数学中的二维积分代码
- python - 将过程应用于python中数据框中的某些行
- apex - 在自治数据库中创建序列
- react-native - 有没有办法在 React Native 中处理应用程序关闭/杀死/终止?
- javascript - 如何将隐藏数组中元素的值设置为零?
- python - 如何继承 OrderedDict 以便可以像属性一样访问其项目?
- go - container_memory_working_set_bytes 与 process_resident_memory_bytes 和 total_rss 的关系
- erlang - 非零整数的“bnot”结果是否总是翻转符号?