Ich habe:
private readonly ReportingService2010 _rs = new ReportingService2010();
Fehler:
%Vor%Ich setup einen Verweis auf den SSRS-Dienst. Die Referenz gibt mir nicht wie erwartet Zugriff auf ReportingService2010. Das nächste ist:
MySsrsServiceNamespace.ReportingService2010SoapClient
Wie soll ich die Klasse ReportingService2010
verwenden? MSDN listet diese Klasse vage auf.
Bitte beachten Sie, dass ich versucht habe, ReportingService2010SoapClient
zu verwenden. Diese Klasse stimmt nicht mit der Dokumentation für ReportingService2010 überein. Zum Beispiel akzeptiert ListChildren()
nur 4 Parameter und die Url-Eigenschaft existiert nicht.
Erstellen Sie entweder eine Proxy-Klasse und fügen Sie sie in Ihre Anwendung ein, oder fügen Sie Web Reporting für ReportingService hinzu. Das Tutorial ist dort verfügbar:
Wenn Sie eine Proxy-Klasse verwenden und mehr als einen Endpunkt verwenden (ReportExecution, ReportingService), sollten Sie Proxy-Klassen für verschiedene Namespaces erstellen, da andernfalls Konflikte auftreten.
Haben Sie es per Web-Referenz getan? Wenn ja, versuchen Sie es mit WSDL in der Befehlszeile. Befehlszeilensyntax:
%Vor%Gerade lief genau das gleiche Problem auf. Die Klasse 'ReportingService2010SoapClient' war verfügbar, die Klasse 'ReportingService2010' jedoch nicht. Hat mich verrückt gemacht. Ich hatte es als "Service References" hinzugefügt, aber Sie müssen es als "Web References" hinzufügen, wie folgt:
Löschen Sie Ihre alte Service-Referenz
Klicken Sie mit der rechten Maustaste auf Referenzen. Der Dialog "Service-Referenz hinzufügen" wird angezeigt.
Geben Sie statt dessen jetzt die WSDL-URL ein: Klicken Sie unten links auf die Schaltfläche "Erweitert".
Der Dialog "Service-Referenzeinstellungen" wird angezeigt.
Klicken Sie links unten auf die Schaltfläche "Web-Referenz hinzufügen".
Geben Sie nun die URL für die WSDL ein. (Für mich war das Servername / ReportServer / ReportService2010.asmx)
Klicken Sie auf den kleinen Pfeil auf der rechten Seite, es dauert seine süße Zeit zu laden.
Benennen Sie die Webreferenz, ich habe "ReportingService2010WebReference" verwendet, aber ReportingService2010 "funktioniert wahrscheinlich genauso gut.
Klicken Sie auf "Referenz hinzufügen"
Aktualisieren Sie in Ihrem Code Ihre using-Anweisungen auf "using .ReportingService2010WebReference (oder den von Ihnen gewählten Namen)
Code:
%Vor%Beim ersten Versuch gearbeitet. Die Datei Web.config wurde nicht berührt.
Fügen Sie keine Webreferenz hinzu
Befolgen Sie die folgenden Schritte und es würde gut funktionieren.
1) Stellen Sie sicher, dass Sie .netframework & gt; = 4.6.1
haben2) Führen Sie die Eingabeaufforderung als Administrator
aus3) CD C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1 Extras
4) Generiere die Klasse: wsdl / proxyusername: Benutzername / proxypassword: Password -out: Reportingservice2010.cs Ссылка
Zusätzlich) Führen Sie wsdl /? Für Hilfe Dateien werden ausgegeben in: C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1 Extras
5) Fügen Sie Ihrem Projekt die CS-Datei hinzu
Tags und Links .net c# reporting-services