Udostępnij za pośrednictwem


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

  1. Upewnij się, że wykonasz instrukcje konfiguracji Jednorazowa procedura instalacji dla przykładów programu Windows Communication Foundation.

  2. Skompiluj rozwiązanie PostAjaxService.sln zgodnie z opisem w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).

  3. Przejdź do http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx adresu (nie otwieraj PostAjaxClientPage.aspx w przeglądarce z katalogu projektu).