Sinn eines WebService ist es ja unter anderem, dass man die Logik auf der Serverseite vorhält. Wie lassen sich hier aber die WCF Data Servies einordnen? Denn hier können ja an Server-Methoden nur primitive Datentypen gesendet werden, also keine (Daten-)Objekte. Somit ist man ja gezwungen Teile der Logik auf dem Client zu implementieren. Geht dies nicht vollkommen am Sinn von WebServices vorbei?
Bitte beachten: Ich meine WCF Data Services !! Nicht die "normalen" WCF - Servies (bei denen können nämlich - im Gegensatz zu WCF Data Services - komplexe Datentypen übergeben werden! Liebe Grüße
Wer behauptet denn, das nur primitive Datentypen verwendet werden können? Das ist falsch, es können ohne weiteres komplexe Datenobjekte übertragen werden
Ja, das hatte ich mir dann auch überlegt. Inzwischen habe ich die gesamten WCF Data Services in die Tonne getreten und schreibe alles mit "normalen" WCF neu. Finger weg von WCF Data Services!!!!
leider können nur primitive Typen als Eingabeparameter verwendet werden. Ich weiß nicht ob sich das mit .net 4.5 ändern wird, sonst bei MS Connect dafür stimmen, dass es eingeführt wird (den Wunsch gibt es sicher öfters).
Da aber jeder komplexe Typ aus primitiven Typen aufgebaut ist, lässt sich dennoch die gesamte Logik auf dem Server umsetzen. Z.B. anstatt einer Methode UpdatePerson(Person p) muss halt eine Methode UpdatePersonsName(int id, string newName) verwendet werden.
Wenn nicht unbedingt das oData-Protokoll bedient werden muss, so können auch normale WCF Services verwendet werden. Für Silverlight ist WCF RIA eine Alternative.
Finger weg von WCF Data Services!!!!