Aby serwis WCF mógł obsługiwać zapytania od klientów AJAX-owych należy dodać do endpointa WebScriptEnablingBehavior. Klasa ta niesie za sobą następujące konsekwencje:
- JSON jako domyślny format wysyłania wiadomości
- możliwość wywoływania zapytań Ajaxowych na operacjach serwisu
- operacje nie trzeba dekorować atrybutami WebGet lub WebInvoke
Przykład:
Code:
Powyższy trik zadziała w przypadku hostowania aplikacji na IIS.
Niestety udostępnianie serwisu w powyższej postaci ma też swoje wady. W przypadku wystąpienia błędu zostanie zawsze zwrócony błąd HTTP 400 - można to oczywiście pominąć i odpowiedni opakować zwracany błąd. Ponadto w przypadku przekazywania parametrów - UriTemplate nie pozwala na przekazanie tablic.
Pomimo ograniczeń zastosowanie powyższego udogodnienia pozwala na szybkie postawienie serwisu mogącego być konsumowanym przez klientów ASP.NET Ajax.
Brak komentarzy:
Prześlij komentarz