我有这段代码:
ErrorLogging.WriteLog(string.Format("Username = {0}, userkey = {1}, userID = {2}", CurrentUser.Username, CurrentUser.UserKey, CurrentUser.Username + CurrentUser.UserKey.ToString()));
ssrsRV.ProcessingMode = ProcessingMode.Remote;
ssrsRV.ServerReport.ReportServerUrl = new Uri(SystemConfig.SSRSServerURI);
ssrsRV.ServerReport.ReportPath = report.REPORT ?? string.Empty;
ssrsRV.ServerReport.SetParameters(new ReportParameter("UserID", CurrentUser.Username + CurrentUser.UserKey.ToString()));
第一行只是向我自己证明,我在这些变量中获得了有效信息。用户 ID 最终类似于“jsmith162e4aa1-d8d3-427b-bd3d-71b7f0307856”
ssrsRV 是一个Microsoft.Reporting.WebForms.ReportViewer
对象。
当我尝试运行此代码时,我收到此错误消息:
项目 '/MyFolder/MyExampleReport.rdl~!@~!@' 的路径无效。完整路径的长度必须少于 260 个字符;其他限制适用。如果报表服务器处于本机模式,则路径必须以斜杠开头。(rsInvalidItemPath)
异常是由SetParameters
方法抛出的,所以我确定这就是问题所在,但我没有测试过根本不传递参数。
任何线索我做错了什么?接下来我应该尝试什么?