środa, 28 listopada 2007

ASP.NET 3.5 - ASP.NET AJAX & WCF

W ASP.NET 3.5 można wywoływać serwisy WCF z poziomu klienta JavaScript (JSON zamiast SOAP). W MSDN dostępna jest dokumentacja na ten temat z przykładami: Web Services in ASP.NET AJAX / Exposing Web Services to Client Script. Na bazie zawartych tam informacji zbudowałem sobie praktyczny przykład. Podsumowując, do udostępnienia serwisu WCF dla klienta JS, trzeba:
- dodać do serwisu atrybut AspNetCompatibilityRequirements
- w konfiguracji zdefiniować zachowania: dla endpointa z elementem enableWebScript i dla serwisu z dostępem do metadanych httpGetEnabled oraz webHttpBinding,
- w elemencie serviceHostingEnvironment ustawić atrybut aspNetCompatibilityEnabled na true.

Jeszcze ze dwa słowa o działaniu. Na stronce generowana jest linijka z adresem do generowanego kodu JS proxy (na podstawie podanej przez nas referencji do serwisu w obiekcie ScriptManager). Na stronce w swojej funkcji JS tworzymy instancję proxy (interfejsu) i wywołujemy jego metody.

Brak komentarzy: