P.B*_*key 8 .net c# reporting-services
我有:
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?)
Run Code Online (Sandbox Code Playgroud)
我设置了对SSRS服务的引用.该引用不允许我按预期访问ReportingService2010.最接近的是:
MySsrsServiceNamespace.ReportingService2010SoapClient
我怎么应该ReportingService2010上课? MSDN模糊地列出了这个类.
请注意我尝试过使用ReportingService2010SoapClient.此类与ReportingService2010的文档不匹配.例如,ListChildren()只接受4个参数,并且Url属性不存在.
Tom*_*ard 32
刚遇到完全相同的问题.ReportingService2010SoapClient类可用,但ReportingService2010类不可用.让我疯了 我已将其添加为"服务引用",但您必须将其添加为"Web引用",如下所示:
删除旧的服务参考
右键单击References.出现"添加服务引用"对话框.
不要现在输入WSDL URL,而是:单击左下角的"高级"按钮.
出现"服务参考设置"对话框.
在左下角,单击"添加Web引用"按钮.
现在输入WSDL的URL.(对我来说是servername/ReportServer/ReportService2010.asmx)
单击右侧的小箭头,将花费很多时间加载.
命名Web引用,我使用"ReportingService2010WebReference",但ReportingService2010"也可以正常工作.
点击"添加参考"
在您的代码中,将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);
}
Run Code Online (Sandbox Code Playgroud)
第一次尝试.没有触及Web.config文件.
创建代理类并将其包含在您的应用程序中,或者向ReportingService添加Web引用.该教程可在那里找到:
http://technet.microsoft.com/en-us/library/ms155134.aspx
请注意,如果您要使用代理类并且使用多个端点(ReportExecution,ReportingService),则应在不同的命名空间上生成代理类,否则会出现冲突.
你是通过网络参考做的吗?如果是这样,请尝试在命令行中使用WSDL.命令行语法:
wsdl /language:CS /n:"Microsoft.SqlServer.ReportingServices2010" http://serverName/reportserver/ReportService2010.asmx?wsdl
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6662 次 |
| 最近记录: |