简短而甜蜜的版本:是否有单一的Web服务方法返回所有可用报告的名称,以及每个报告的参数?
我有我的网络代码(C#/ MVC)连接到SSRS Web服务,我能够通过这些服务检索报告.
我知道我可以得到如下可用报告的列表:
var rService = new ReportingService2005 { Url = @"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",Credentials = System.Net.CredentialCache.DefaultCredentials }; var reportList = rService.ListChildren(@"/Blah",true);
ListChildren()的结果给出了很多信息,但是它没有列出每个报告的参数.为了获取报告的参数,我需要单独调用:
string historyId = null; ReportService.ParameterValue[] values = null; ReportService.DataSourceCredentials[] credentials = null; var parameters = rService.GetReportParameters(@"/Blah/" + reportName,historyId,true,values,credentials);
所以如果我想获得所有可用的报告及其参数,我将需要循环查看ListChildren的结果,这意味着我将为每个报告创建一个Web服务调用.
有更好的做法吗?