| 

.NET C# Java Javascript Exception

2
Hallo,

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

Silvia
14.08.2012
Silvia1963 320 2 7
1
Wer behauptet denn, das nur primitive Datentypen verwendet werden können? Das ist falsch, es können ohne weiteres komplexe Datenobjekte übertragen werden
me 14.08.2012
Nein, Deine Antwort ist nicht richtig. Du meinst WCF, ich meine WCF Data Services. Ich lasse mich aber gerne vom Gegenteil überzeugen :-)
Silvia1963 14.08.2012
Ja war ein Missverständnis, aber man könnte den komplexen Typ in ein string (xml) serialisieren
me 15.08.2012
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!!!!
Silvia1963 15.08.2012
1 Antwort
2
Hallo,

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.

mfG Gü
14.08.2012
gfoidl 9,4k 3 5

Stelle deine Programmieren-Frage jetzt!