Udostępnij za pośrednictwem


Usługa AJAX korzystająca z typów złożonych — przykład

Przykład ComplexTypeAjaxService pokazuje, jak używać programu Windows Communication Foundation (WCF) do utworzenia ASP.NET asynchronicznej usługi JavaScript i XML (AJAX), która tworzy wystąpienia typów złożonych i wysyła je między usługą i klientem jako javaScript Object Notation (JSON). Dostęp do usługi AJAX można uzyskać przy użyciu kodu JavaScript z poziomu klienta przeglądarki internetowej. Ten przykład jest oparty na przykładowej usłudze AJAX w warstwie Podstawowa.

Obsługa technologii AJAX w programie 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

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. WebGetAttribute Ponieważ atrybut nie jest stosowany, używany jest domyślny czasownik HTTP ("POST"). Usługa ma jedną operację , DoMathktóra zwraca typ złożony o nazwie MathResult. Typ złożony jest standardowym typem kontraktu danych, który również nie zawiera kodu specyficznego dla AJAX.

[DataContract]
public class MathResult
{
    [DataMember]
    public double sum;
    [DataMember]
    public double difference;
    [DataMember]
    public double product;
    [DataMember]
    public double quotient;
}

Utwórz punkt końcowy AJAX w usłudze przy użyciu elementu , podobnie jak w przykładzie WebScriptServiceHostFactorypodstawowa usługa AJAX.

Strona sieci Web klienta, ComplexTypeClientPage.aspx zawiera ASP.NET i kod JavaScript w celu wywołania usługi, gdy użytkownik kliknie przycisk Wykonaj obliczenia na stronie. Kod służący do wywoływania usługi konstruuje treść JSON i wysyła go przy użyciu protokołu HTTP POST, podobnie jak w przykładzie AJAX Service Using HTTP POST (Usługa AJAX przy użyciu kodu HTTP POST ).

Po pomyślnym wywołaniu usługi można uzyskać dostęp do poszczególnych elementów członkowskich danych (sum, differencei productquotient) w wynikowym obiekcie JavaScript.

function onSuccess(mathResult){
     document.getElementById("sum").value = mathResult.sum;
     document.getElementById("difference").value = mathResult.difference;
     document.getElementById("product").value = mathResult.product;
     document.getElementById("quotient").value = mathResult.quotient;
}

Aby skonfigurować, skompilować i uruchomić przykład

  1. Upewnij się, że wykonano procedurę instalacji jednorazowej dla przykładów programu Windows Communication Foundation.

  2. Skompiluj rozwiązanie ComplexTypeAjaxService.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/ComplexTypeClientPage.aspx adresu (nie otwieraj ComplexTypeClientPage.aspx w przeglądarce z katalogu projektu).

Zobacz też