私はこのコードブロックを持っています:
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()));
最初の行は、これらの変数に有効な情報があることを証明しています。userIDは、「jsmith162e4aa1-d8d3-427b-bd3d-71b7f0307856」のようになります。
ssrsRVはMicrosoft.Reporting.WebForms.ReportViewer
オブジェクトです。
このコードを実行しようとすると、次のエラーメッセージが表示されます。
アイテム'/MyFolder/MyExampleReport.rdl~!@~!@'のパスが無効です。フルパスの長さは260文字未満である必要があります。その他の制限が適用されます。レポートサーバーがネイティブモードの場合、パスはスラッシュで始まる必要があります。(rsInvalidItemPath)
メソッドによって例外がスローされるSetParameters
ので、それが問題であると確信していますが、パラメーターをまったく渡さないことはテストしていません。
私が間違っていることの手がかりはありますか?次に何を試すべきですか?