zu konsumieren Ich versuche, eine Datenquelle zu einem Repeater, zum Beispiel zu einem Web-Service (.asmx von einer anderen Website) beim Laden der Seite zu binden. Der Webservice gibt ein DataSet von einem SQL-Aufruf zurück. Was ist der beste Weg, dies zu tun?beste Möglichkeit, einen Webservice in einem asp.net-Code hinter
Antwort
Rufen Sie den Webservice an, nehmen Sie das Ergebnis und binden Sie es an Ihren Repeater.
Wenn Sie können, könnten Sie auch versuchen, die Informationen für eine Weile auf Ihrer Seite zwischenzuspeichern, wenn möglich, um mit der Gesamtleistung zu helfen.
Da Sie eine andere Website anrufen, müssen Sie mit zwei Problemen kämpfen (vor allem, wenn dieser Webdienst auf der Website einer anderen Person oder über das öffentliche Internet verfügbar ist). Erstens könnte es eine Verzögerung geben, um die Daten von der anderen Website abzurufen. Zweitens könnte die andere Website eine Zeitüberschreitung aufweisen.
Zumindest sollten Sie eine asychronous page Anfrage berücksichtigen. Wie dieser MSDN-Artikel heißt es:
Wenn eine synchrone Anforderung wird I/O abgebundenen zum Beispiel, wenn es einen Remote-Web-Service ruft oder fragt eine Remote-Datenbank und wartet auf den Anruf zu kommen zurück-dann der Thread zugewiesen an die Anfrage bleibt nichts tun bis der Anruf zurückkehrt. Das verhindert Skalierbarkeit, da der Thread-Pool eine endliche Anzahl von Threads zur Verfügung hat. Wenn alle Threads für die Anforderungsverarbeitung blockiert sind und auf die Ausführung der I/O-Operationen warten, werden weitere Anfragen in die Warteschlange gestellt und warten auf Threads, die frei sein müssen. Im besten Fall nimmt der Durchsatz ab, weil Anforderungen länger auf die Verarbeitung warten. Im schlimmsten Fall die Warteschlange füllt und ASP.NET schlägt fehl nachfolgende Anforderungen mit 503 "Server nicht verfügbar" Fehler.
Aber die beste Lösung ist wahrscheinlich, AJAX zu verwenden. Laden Sie die Seite und machen Sie eine Ajax-Anfrage, um den Repeater zu füllen. So können Sie die nette "Spinning" Grafik oder etwas anderes während des Wartens auf dem Webservice haben.
- 1. Aufruf eines Webservice hinter einem Proxy-Server
- 2. JAVA Restful Webservice vs PHP Restful Webservice. Der Beste?
- 3. Was ist das beste Java-Webservice-Framework?
- 4. Rufen Sie einen Webservice in asp.net Ajax
- 5. beste Möglichkeit, Kollisionsdetektor in oop
- 6. beste Möglichkeit, nach einer Zeichenfolge in einem Array zu suchen
- 7. Was ist der beste Weg, um einen Schatten hinter einem UIImageView zu erstellen
- 8. Beste Möglichkeit, mehrere UITableViews in einem UIViewController zu behandeln?
- 9. Die beste Möglichkeit, dies in einem Formular anzuzeigen?
- 10. Simulieren Sie einen Laptop hinter einem Proxy-Server
- 11. beste Möglichkeit, einen Audit-Trail in SQL-Server zu implementieren?
- 12. Die beste Möglichkeit, einen Benutzer in Django zu registrieren
- 13. Suche einen Webservice, die
- 14. Installiere logstash-output-couchbase hinter einem Proxy
- 15. beste Möglichkeit, einen HttpServletRequest-Parameter in einem Controller/Klasse zu entfernen?
- 16. Python - beste Möglichkeit, eine Spalte in einem 2D-Array auf einen bestimmten Wert zu setzen
- 17. Sicher und beste Möglichkeit, einen Schienen Edelstein Affe Patch
- 18. Wie sichere ich einen Webservice in .net?
- 19. Was ist die beste semantische Möglichkeit, einen Suchbereich zu umbrechen?
- 20. Was ist der beste Weg, um mehrere Parameter von einem Client, der eine Skriptsprache ist, an einen Webservice zu senden?
- 21. beste Möglichkeit, jquery einem "leeren" Webprojekt im Visual Studio hinzuzufügen?
- 22. Aktualisiere die Region hinter einem skalierten Fenster
- 23. Die beste Möglichkeit, ein Element aus einem Array wiederzuverwenden?
- 24. Beste Möglichkeit, Debug-Code einzubeziehen?
- 25. Sollte ich einen stark typisierten Datensatz von einem Webservice zurückgeben?
- 26. So rufen Sie einen Web-Service aus einem Webservice heraus
- 27. Die beste Möglichkeit, einen Appendateipfad dynamisch zu setzen
- 28. Beste Möglichkeit, Bilder zu laden
- 29. Beispiel für einen guten Webservice
- 30. beste Möglichkeit Relative API URL in einem jquery Plugin zu verwenden