Wie Webservice programmgesteuert in ASP.net aufrufen ohne Webverweis hinzufügen? Meine Webservice-URL ändert sich ständig. Daher muss ich die URL zur Laufzeit erfassen und die Ergebnisse anzeigen. Bitte Beratung.So rufen Sie einen Webservice programmgesteuert in asp.net auf
Antwort
Wo versuchen Sie, den Dienst aufzurufen und wo sich die Servicedatei befindet?
Wenn sich der Dienst auf derselben Site befindet. Warum nicht einfach den Klassennamen aus dem Service instanziieren. Oder erstellen Sie einfach eine separate Klasse und verwenden Sie die Schnittstelle
Sie können die Endpunkt-URL als Teil des Konstruktors Ihrer clientseitigen Proxy-Klasse angeben.
Wenn Sie es während der Laufzeit nicht angeben müssen, kann es auch in Ihrer web.config
Datei festgelegt werden.
Sie können die URL einer Web-Referenz zur Laufzeit geändert werden (vorausgesetzt, dass die neue Adresse einen Dienst mit dem gleichen Schema präsentiert, die Sie den Verweis ursprünglich zum Erstellen):
MyWebService ms = new MyWebService();
ms.Url = "http://example.com/webservice.asmx";
ms.MyWebMethod();
Web Referenzen sind Auf jeden Fall der Weg zu gehen - während die Klassen, die durch die Web-Referenz erstellt werden, in der Regel ziemlich schwer sind, macht all das starke Tipping es sich lohnt.
Dies scheint bei weitem die einfachste Lösung zu sein. Warum bekommt es nicht mehr Liebe? – Kjensen
Da Question einen Service dynamisch aufrufen soll und nicht durch Hinzufügen einer Webreferenz und Herunterladen des Proxys. –
müssen Sie die folgenden Schritte ausführen.
PreReq: Zunächst kennen Sie die URL des Webdienstes.
Lösung: Verwendung wsdl.exe eine Proxy-Klasse zu erstellen und als es kompilieren.
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(. Es gibt auch andere Schalter zur Verfügung für Wsdl Für Beispiel VB Klasse zu generieren, müssen Sie Schalter /Sprache hinzuzufügen: VB)
Sobald Ihre Proxy-Klasse erzeugt Sie können leicht in Code konsumieren.
MyProxyClass objService = new MyProxyClass();
DateTime time = objService.GetServerTime(); //Suppose service has method getServerTime
Hallo, Danke an alle für die Lösungen. Was ich getan habe, ist, dass ich einen Webservice als Referenz hinzugefügt habe. Setzen Sie seine Eigenschaft auf dynamic.And bearbeiten Sie dann den Konstruktor der Reference.cs (der Webdienstklasse), um die URL dynamisch zu übergeben. –
- 1. Rufen Sie einen Webservice in asp.net Ajax
- 2. So rufen Sie einen ASMX-Webservice über GET auf?
- 3. So rufen Sie einen Web-Service aus einem Webservice heraus
- 4. Asp.net Webservice - Secure rufen Sie den Webservice mit Jquery AJAX
- 5. So rufen Sie WebService mit NSURLConnection in ios
- 6. So rufen Sie ein Eclipse-Bereinigungsprofil programmgesteuert auf?
- 7. So rufen Sie einen Windows-Dienst von asp.net
- 8. So rufen Sie einen SOAP-Webdienst mit Gatling 2.2.0 auf
- 9. So rufen Sie einen WCF-Dienst von FitNesse auf
- 10. So rufen Sie einen Selektor in einer anderen Klasse auf
- 11. So rufen Sie einen EventHandler in einer übergeordneten Klasse auf
- 12. So erstellen Sie einen Webservice von Qt
- 13. So rufen Sie eine RESTful API mit ASP.NET auf 5
- 14. So rufen Sie Monitor.TryEnter auf
- 15. So rufen Sie UDF in DataStage auf?
- 16. So rufen Sie JavaScript in XML auf?
- 17. So rufen Sie einen einfachen Web-Service von IONIC
- 18. Rufen Sie asmx Webservice von angular 2
- 19. So rufen Sie ViewChild in Runtime auf?
- 20. So rufen Sie einen UIViewController von einer UIView SubClass auf?
- 21. So rufen Sie einen Webdienst mit gespeicherten Anmeldeinformationen auf?
- 22. So rufen Sie einen WCF-Dienst mit ksoap2 auf Android?
- 23. So rufen Sie den Routennamen in Html.ActionLink asp.net MVC?
- 24. So rufen Sie einen .NET-Webdienst von Android auf?
- 25. So rufen Sie einen Eclipse-Assistenten im Stapelmodus auf?
- 26. Yii2: So starten Sie einen Export programmgesteuert
- 27. So rufen Sie den Hintergrundthread auf
- 28. Eclipse JDT: Rufen Sie 'richtigen Einzug' programmgesteuert auf?
- 29. So erstellen Sie einen Zugriffspunkt programmgesteuert
- 30. So rufen Sie eine REST-Webservice-API über die JavaScript-Schaltfläche Handler auf?
Geben Sie alle Bindungen und Transporteinstellungen in der Datei web.config an. Erstellen Sie anschließend eine Client-Proxy-Klasse, die Ihre Web-Service-Schnittstelle implementiert und einen Kanal für den Endpunkt erstellt/öffnet, auf dem sich der Service befindet. –