我有:
private readonly ReportingService2010 _rs = new ReportingService2010();
错误:
The type or namespace name 'ReportingService2010' could not be found (are you missing a using directive or an assembly reference?)
我setup对 SSRS 服务的引用。该引用没有像我预期的那样让我访问 ReportingService2010。最接近的是:
MySsrsServiceNamespace.ReportingService2010SoapClient
我应该如何使用 ReportingService2010
类? MSDN含糊地列出这个类。
请注意,我尝试使用 ReportingService2010SoapClient
。此类与 ReportingService2010 的文档不匹配。例如ListChildren()
只接受4个参数,Url属性不存在。
最佳答案
刚刚遇到了完全相同的问题。 ReportingService2010SoapClient 类可用,但 ReportingService2010 类不可用。快把我逼疯了。我已将其添加为“服务引用”,但您必须将其添加为“Web 引用”,如下所示:
删除旧的服务引用
右键单击引用文献。 “添加服务引用”对话框出现。
现在不要输入 WSDL URL,而是:单击左下角的“高级”按钮。
出现“服务引用设置”对话框。
在左下角,单击“添加 Web 引用”按钮。
现在输入 WSDL 的 URL。 (对我来说是服务器名/ReportServer/ReportService2010.asmx)
点击右边的小箭头,加载会很慢。
为 Web 引用命名,我使用“ReportingService2010WebReference”,但 ReportingService2010"可能同样有效。
点击“添加引用”
在您的代码中,将您的 using 语句更新为“using .ReportingService2010WebReference(或您选择的任何名称)”
代码:
private MySol.ReportService2010WebReference.ReportingService2010 rsClient;
rsClient = new ReportingService2010();
rsClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
CatalogItem[] items = null;
items = rsClient.ListChildren("/", false);
foreach (var item in items)
{
tr.ErrorMessage += (item.Path + " " + item.CreatedBy);
}
进行了第一次尝试。未触及 Web.config 文件。
关于c# - 找不到 ReportingService2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18964295/