Sdílet prostřednictvím


Ukázka služby AJAX využívající komplexní typy

Ukázka ComplexTypeAjaxService ukazuje, jak pomocí technologie Windows Communication Foundation (WCF) vytvořit ASP.NET asynchronní službu JavaScript a XML (AJAX), která vytváří instance komplexních typů a odesílá je mezi službou a klientem jako zápis javascriptového objektu (JSON). Ke službě AJAX můžete přistupovat pomocí kódu JavaScriptu z klienta webového prohlížeče. Tato ukázka vychází z ukázky základní služby AJAX.

Podpora AJAX ve WCF je optimalizovaná pro použití s ASP.NET AJAX prostřednictvím ScriptManager ovládacího prvku. Příklad použití WCF s ASP.NET AJAX najdete v ukázkách AJAX.

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Služba v následující ukázce je služba WCF bez kódu specifického pro AJAX. WebGetAttribute Protože atribut není použit, použije se výchozí příkaz HTTP ("POST"). Služba má jednu operaci, DoMathkterá vrací komplexní typ s názvem MathResult. Komplexní typ je standardní datový typ kontraktu, který také neobsahuje žádný kód specifický pro AJAX.

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

Vytvořte ve službě koncový bod AJAX pomocí metody WebScriptServiceHostFactory, stejně jako v ukázce základní služby AJAX.

Webová stránka klienta ComplexTypeClientPage.aspx obsahuje kód ASP.NET a JavaScript, který službu vyvolá, když uživatel klikne na tlačítko Provést výpočet na stránce. Kód pro vyvolání služby vytvoří tělo JSON a odešle ho pomocí HTTP POST, podobně jako služba AJAX pomocí ukázky HTTP POST .

Po úspěšném volání služby můžete přistupovat k jednotlivým datovým členům (sumdifferenceproductaquotient) ve výsledném javascriptovém objektu.

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;
}

Nastavení, sestavení a spuštění ukázky

  1. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.

  2. Sestavte řešení ComplexTypeAjaxService.sln, jak je popsáno v části Sestavení ukázek Windows Communication Foundation.

  3. Přejděte na http://localhost/ServiceModelSamples/ComplexTypeClientPage.aspx (neotevírejte ComplexTypeClientPage.aspx v prohlížeči z adresáře projektu).

Viz také