Witam przymierzam się do napisania prostej aplikacji, jednakże z dość dużą ilością klientów (www,desktop,mobile,inne).

Postanowiłem, że obsługę wszystkiego co się da (walidacja, wszystkie połączenia z bazą) oprę o WCF. Jako że chce się coś nauczyć i REST jest ostatnio na czasie wybrałem ten sposób komunikacji.

Chcę również (co jest logiczne), aby wszystkie aplikacje (łącznie z www) korzystały z owego WCF.

Zastanawiam się jak wygląda komunikacja WCF np. WWW (asp.net mvc2) ?

W SOAPie dodawało się webReference i wszystko robiło się praktycznie samo (config, tworzenie klasy proxy), nam pozostało tylko użytkowanie.
Próbując na szybko stworzyć projekt WCF REST, skorzystałem z jakiegoś rozszerzenia WCF REST 40 , który całkowicie pozbywa się pliku .svc. Z tworzeniem metod raczej nie ma kłopotu, wszystko opiera się na URL-ach - ok.

Zastanawiam się czy np. metody mogą (tzn pewnie mogą, ale czy powinno się) aby przyjmowały obiekty, gdzieś w przykładach widziałem, pewna metoda zwracała obiekt (ok), ale zamiast przyjmować obiektu przyjmowała z 7 stringów (O_o). Czy to po prostu ułatwienie dla osób, które potem teoretycznie mogą z tego korzystać w np. PHP, nie muszą tworzyć dodatkowo obiektu , tylko po to aby go przekazać ? W takim razie czy (dla ułatwienia innym) przeciążać funkcję, która przyjmuje np. 1 obiekt, 2 wszystkie pola z obiektu ?

Zastanawiam się również (bo nie znalazłem przykładu) jak w np. ASP.NET skorzystać z tego obiektu. Choć to pewnie poprawne nie jest, ale w przypadku tylko GET i metody (wcf) która przyjmuje same stringi, można budować odpowiedni url i zwracane wyniki pobrać za pomocą WebClient.DownloadString i zwrócony xml parsować do obiektu, ale pewnie jest lepszy sposób ? No i jak z np. POSTem - jak z kontrolera ASP.NET/ aplikacji desktopowej wysłać POSTa do WCF.