Usługa AJAX używająca żądań POST protokołu HTTP
W przykładzie PostAjaxService pokazano, jak za pomocą programu Windows Communication Foundation (WCF) utworzyć ASP.NET asynchroniczną usługę JavaScript i XML (AJAX), która używa protokołu HTTP POST. Usługa AJAX jest usługą, do której można uzyskać dostęp przy użyciu podstawowego kodu JavaScript z klienta przeglądarki internetowej. Ten przykład opiera się na przykładzie podstawowej usługi AJAX. Jedyną różnicą między dwoma przykładami jest użycie protokołu HTTP POST zamiast HTTP GET.
Obsługa technologii AJAX w programie Windows Communication Foundation (WCF) jest zoptymalizowana pod kątem używania z ASP.NET AJAX za pomocą kontrolki ScriptManager
. Aby zapoznać się z przykładem używania programu WCF z platformą ASP.NET AJAX, zobacz przykłady Ajax.
Uwaga
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Usługa w poniższym przykładzie jest usługą WCF bez kodu specyficznego dla technologii AJAX.
WebInvokeAttribute Jeśli atrybut jest stosowany w operacji lub WebGetAttribute atrybut nie jest stosowany, jest używany domyślny czasownik HTTP ("POST"). Żądania POST są trudniejsze do konstruowania niż żądania GET, ale nie są buforowane; użyj żądań POST dla wszystkich operacji, w których buforowanie nie jest odpowiednie.
[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
[WebInvoke]
double Add(double n1, double n2);
//Other operations omitted…
}
Utwórz punkt końcowy AJAX w usłudze przy użyciu elementu , podobnie jak w przykładzie WebScriptServiceHostFactorypodstawowa usługa AJAX.
W przeciwieństwie do żądań GET nie można wywoływać usług POST z przeglądarki. Na przykład przejście do http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200
powoduje wystąpienie błędu, ponieważ usługa POST oczekuje n1
wysłania parametrów i n2
w treści komunikatu w formacie JSON, a nie w adresie URL.
Strona sieci Web klienta, PostAjaxClientPage.aspx zawiera ASP.NET kod wywoływania usługi za każdym razem, gdy użytkownik kliknie jeden z przycisków operacji na stronie. Usługa odpowiada w taki sam sposób, jak w przykładzie podstawowa usługa AJAX z żądaniem GET.
Aby skonfigurować, skompilować i uruchomić przykład
Upewnij się, że wykonasz instrukcje konfiguracji Jednorazowa procedura instalacji dla przykładów programu Windows Communication Foundation.
Skompiluj rozwiązanie PostAjaxService.sln zgodnie z opisem w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).
Przejdź do
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
adresu (nie otwieraj PostAjaxClientPage.aspx w przeglądarce z katalogu projektu).