Warum die Rückkehr "dataset" oder " Tabelle mit Daten aus WCF-service ist nicht eine gute Praxis? Was sind die Alternativen?
Arbeite ich an der Universität-Management-System, auf dem ich bin mit einem WCF-service und in der service-ich bin mit Datentabellen und Datensätze, um Daten aus der Datenbank und der Datenbank sql server.
Meine Fragen sind
- Ist mit Datentabellen und Datensätze "Good Practice" oder "Bad Practice" ?
- Wenn es schlecht ist, was ist die alternative DataTable/DataSet ?
- Wenn es schlecht ist, was sind die Hauptgründe ?
- Rückkehr Datensätze von WebServices ist die Brut des Satans und Repräsentiert Alles, was Ist, Wirklich das Böse in der Welt Von SCOTT HANSELMAN
- Verwenden Sie Sie im Dienst oder außerhalb, beispielsweise durch Rückgabe?
- Was liegt in der Verantwortung des service, den Sie bauen, wissen Sie (und die Kontrolle) über die clients?
- Ich bin mit DataTables/DataSets innerhalb als auch Außerhalb
- Ja, ich habe die Kontrolle über die clients
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zurückgeben von Daten-sets von web-services ist in der Regel nicht als "gute Praxis". Die Themen wurden umfassend dokumentiert in den folgenden links:
http://msdn.microsoft.com/en-us/magazine/cc163751.aspx
http://www.4guysfromrolla.com/articles/051805-1.aspx
http://msdn.microsoft.com/en-us/magazine/cc188755.aspx
In der Zusammenfassung, die größten Probleme mit der Rückgabe
DataSet
Objekte, die von web services scheinen zu beteiligen Serialisierung Leistung, non-.net die Interoperabilität. Zusätzlich, die generische, polymorphe Natur derDataSet
im Allgemeinen hoch ist, die Daten-Struktur erst zur Laufzeit, so dass die WSDL-definition enthält keine vollständige Beschreibung der Signatur der Methode. Wie bei jeder design-Entscheidung, jedoch müssen Sie Wiegen die Kosten vs nutzen und bestimmen, die am besten passen Ihre spezifischen Ziele und Einschränkungen.In alternativen, Sie könnten erwägen Sie die Verwendung einer generischen collection (z.B.
List<yourClassHere>
) oder vielleicht sogar überlegen, einige Architektur-Revisionen zu erlauben die Verwendung von ODATA.Den folgenden links einige gute hintergrund Referenz für zurückkehrende Personen über web-services.
http://msdn.microsoft.com/en-us/library/orm-9780596520281-01-14.aspx
http://www.codeproject.com/Articles/127395/Implementing-a-WCF-Service-with-Entity-Framework
http://msdn.microsoft.com/en-us/data/hh237663.aspx
Gibt es 3 Grund für Fehler, die den Rückgabetyp
datatable
im WCF-DiensteMüssen Sie angeben, Daten "Tabellenname like":
Wenn Sie hinzufügen Referenz auf client-Seite der WCF-Dienst wählen Sie wiederverwendbare dll
system.data
Angeben Attribut auf
datatable
member-variable wieIch bin mit
DataTable
in meinem WCF-Anwendung, aber wurde immer ein Fehler. Dies ist, wie ich den Fehler behoben.Wenn wieder ein DataTable aus einem web service WCF-windows form-Anwendung. Ich war immer von dieser Ausnahme.
Es passiert jedes mal, wenn ich versuchte, rufen Sie eine
DataTable
Beheben Ausnahme, die ich brauchte, zu geben, die
DataTable
einen Namen.code mit dem Fehler
Festen code zu entfernen, die excption