Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przykładzie PostAjaxService pokazano, jak używać programu Windows Communication Foundation (WCF) do utworzenia ASP.NET asynchronicznej usługi 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 jest oparty na przykładzie usługi AJAX w warstwie Podstawowa ; 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 ASP.NET AJAX, zobacz przykłady Ajax.
Uwaga / Notatka
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.
Jeśli atrybut WebInvokeAttribute jest stosowany w operacji albo atrybut WebGetAttribute nie jest stosowany, wtedy używany jest 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, korzystając z WebScriptServiceHostFactory, tak jak w przykładzie podstawowej usługi 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, że parametry n1
i n2
zostaną wysłane w treści wiadomości 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ładowy program
Upewnij się, że wykonasz instrukcje konfiguracji One-Time 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
(nie otwieraj PostAjaxClientPage.aspx w przeglądarce z katalogu projektu).