Laden...

Webservice gibt List<string> zurück

Erstellt von chazon vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.239 Views
C
chazon Themenstarter:in
70 Beiträge seit 2008
vor 9 Jahren
Webservice gibt List<string> zurück

Hallo Leute

Nachdem mein Webservice funktioniert habe ich ein Problem , wie ich die Methoden richtig aufrufe:

Die Methode im Webservice hat eine List<string> als Rückgabewert

[WebMethod]
    public List<string> KListe()...

Ich habe den Diensteverweis in meinem Programm hinzugefügt ,
using AppTest.ReferenceService1

Dann finde ich eine WebService1SoapClient

also


WebService1SoapClient MeinService = new WebServiceSoapClient();

Dort finde ich MeinService.KListeAsync() . Doch wie weise ich nun die Rückgabe einer Liste zu ?

Danke und Gruß Chazon

2.223 Beiträge seit 2005
vor 9 Jahren

Hallo Chazon,

Entweder nimmst du die Methode die nicht asynchron läuft also ohne async am ende oder du benutzt die async Methode welche auch klar die bessere Wahl ist.

Bei dieser Async Methode kommt die neue async await Symptomatik zu tragen.

Asynchrone Programmierung mit Async und Await (C# und Visual Basic)

Viele Grüße
Lars

C
chazon Themenstarter:in
70 Beiträge seit 2008
vor 9 Jahren

Danke für die Antwort,

Ich würde ja gerne die Async - Methode nutzen
nur weis ich im Moment nicht wie ich die Rückgabe dieser Methode
in ein List<string> übernehmen kann .


[WebMethod]
     public List<string> KListe(string k_id)... 


im Programm:

List<string> kListe = new List<string>();
kListe = MeinService.KListeAsync("1"); ???



kommt wirklich ein List zurück oder evtl ein Array
Ich erhalte die Fehlermeldung

Fehlermeldung:
Fehler 7 Argument '1': Konvertierung von 'void' in 'System.Collections.Generic.IEnumerable<string>' nicht möglich.

2.223 Beiträge seit 2005
vor 9 Jahren

Normalerweise würdest bei den async Methoden nicht List<T> sondern eher Task<List<T>> zurück bekommen,

Jedoch bei dir scheint es eher so zu sein, dass du gar nichts also void zurückbekommst, aufgrund der Informationen die dir deine IDE anzeigt, solltest du darauf aber auch selber kommen können.

Viele Grüße
Lars

C
chazon Themenstarter:in
70 Beiträge seit 2008
vor 9 Jahren

Also , ich stehe im Moment etwas daneben ?(

Also meinen Webservice habe ich getestet und er liefert im Browser
die gewünschten Ergebnisse

Ich versuche nun wie in diversen Tuts beschrieben den
Webservice zu konsumieren was aber nicht funktioniert.

Ich habe einen Dienstverweis hinzugefügt

Dort wird unter Dienste
WebService1Soap
WebService1HttpGet
WebService1HttpPost

(Ich sollte vielleicht erwähnen ,dass der Service remote läuft)

Unter Vorgänge werden bei allen die entsprechenden Methoden angezeigt

Danach komme ich dann irgendwie nicht weiter (zumindest nicht so dass es verstehe).

16.834 Beiträge seit 2008
vor 9 Jahren

Wie alt sind die Tutorials?
Gerade im .NET 4.5 hat sich hier mit async/await viel geändert.

Du musst a) die Grundlagen von SOAP verstehen (wobei SOAP heute eigentlich veraltet ist bzw. viele das als veraltet sehen und man REST eher nimmt, sofern kein 1:1 Binding erforderlich ist) und b) verstehen was async/await ist und wie man damit korrekt umgeht.
Mit "Service hinzufügen" und gar nicht verstehen, wie man Services korrekt verwendet, ist es halt nicht getan.

C
chazon Themenstarter:in
70 Beiträge seit 2008
vor 9 Jahren

Kannst du Mr ein gutes tutorial oder auch Buch nennen:-) ?

16.834 Beiträge seit 2008
vor 9 Jahren
C
chazon Themenstarter:in
70 Beiträge seit 2008
vor 9 Jahren

Vielen Dank , das sieht gut aus.
Bin damit wohl eine Weile beschäftigt

Danke und Gruß
chazon