Ich habe eine Webmethod geschrieben, die die Liste der Benutzer zurückgibt, obwohl der Dienst funktioniert, wenn ich es von der Seite aufrufen, haben die Methoden im Webservice Rückgabetyp als void.Methode Rückgabewert erscheint als void in silverlight
1
A
Antwort
2
Was Sie wegwerfen können, ist, dass Web-Service-Aufrufe in Silverlight asynchron behandelt werden müssen.
Wenn Sie ein WebMethod definieren, sagen Sie beispielsweise, dass Sie DoWork in einer Klasse namens WorkMan haben. Ihr Code in Silverlight würde am Ende aussehen wie:
WorkManSoapClient client = new WorkManSoapClient();
client.DoWorkCompleted += new EventHandler<DoWorkCompletedEventArgs>(this.DoWorkCompleteHandler); // where DoWorkCompletedHandler handles the callback.
Dann rufen Sie Ihre aktuelle Methode und lassen Sie den Rückruf das Ergebnis zu verarbeiten.
client.DoWorkAsync();
Wenn Ihr Webmethod einen Wert zurückgibt, Ihr EventArg Objekt wird eine Ergebnis-Eigenschaft, die Sie für das Ergebnis nutzen können.
Eine letzte Anmerkung: eine persönliche Stilsache, aber ich mag Lambda-Ausdrücke, anstatt eine ganz neue Methode für den Rückruf zu erzeugen. Ich könnte so etwas wie die folgenden schreiben:
WorkManSoapClient client = new WorkManSoapClient();
client.DoWorkCompleted += (s,e) => {
if(e.Result != null){
object foo = e.Result;
}
};
client.DoWorkAsync();
Verwandte Themen
- 1. Erhalten Sie Rückgabewert von void Async-Methode
- 2. RealmSwift: Unerwartete nicht-void als Rückgabewert in Leerer Funktion
- 3. Java: Leap Motion Rückgabewert von void
- 4. Zusammensetzung der Void-Methode in der Void-Methode verwendet? (Java)
- 5. Rückgabewert in try catch Methode
- 6. Aufruf einer void-Methode
- 7. void ** Zeiger und void * [] als Funktionsparameter
- 8. dispatch_async und unerwarteter nicht void-Rückgabewert in der void-Funktion in Swift
- 9. Void als literaler Typ?
- 10. Objective-C Blocktyp als Rückgabewert
- 11. void * als unbekannter Variablentyp
- 12. Android: Wie Daten von Void-Methode
- 13. Uispy Rückgabewert als "?"
- 14. Silverlight: Scrollviewer erscheint nur, wenn Inhalt überläuft?
- 15. Verwenden einer DataTable als Rückgabewert
- 16. Testen void-Methode mit EasyMock
- 17. CRTP und Methode zurückgeben void *
- 18. RedirectToAction innerhalb einer Void-Methode
- 19. Async-Methode in überschriebene Void ausführen
- 20. eine void-Methode in derselben Klasse aufrufen
- 21. TranslateX erscheint als animierend
- 22. Erhalten Rückgabewert in QML von Python-Methode
- 23. Edit-Methode Rückgabewert in einem Debugger
- 24. Rückgabewert von AsyncTask-Klasse onPostExecute-Methode
- 25. 'static void' als Decl-specifier
- 26. Void-Typ-Methode expression-bodyed Mitglied ermöglicht Ausdruck von nicht-void-Typ * wenn andere Methode *
- 27. Void-Zeiger als Struktur-Array in C
- 28. Funktion Rückgabewert definiert als Konstante
- 29. Kann eine void-Methode in einer Klasse in Java
- 30. + (void) oder - (void) Unterschied?
Es tut mir leid, aber die dosent Arbeit für me.I ist noch nicht in der Lage, die Werte aus dem Verfahren zu erhalten. –