Sdílet prostřednictvím


Služba AJAX, která používá HTTP POST

Ukázka PostAjaxService ukazuje, jak pomocí technologie Windows Communication Foundation (WCF) vytvořit ASP.NET asynchronní službu JavaScript a XML (AJAX), která používá HTTP POST. Služba AJAX je služba, ke které máte přístup pomocí základního javascriptového kódu z klienta webového prohlížeče. Tato ukázka vychází z ukázky základní služby AJAX. Jediným rozdílem mezi těmito dvěma ukázkami je použití http POST místo HTTP GET.

Podpora AJAX ve Windows Communication Foundation (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.

WebInvokeAttribute Pokud je atribut použit u operace nebo WebGetAttribute atribut není použit, použije se výchozí příkaz HTTP ("POST"). Požadavky POST jsou obtížnější vytvářet než požadavky GET, ale nejsou uloženy v mezipaměti; použít požadavky POST pro všechny operace, kde ukládání do mezipaměti není vhodné.

[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
    [WebInvoke]
    double Add(double n1, double n2);
    //Other operations omitted…
}

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

Na rozdíl od požadavků GET nelze v prohlížeči vyvolat služby POST. Například při přechodu na výsledek dojde k http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 chybě, protože služba POST očekává n1 odeslání parametrů n2 v textu zprávy ve formátu JSON, a ne v adrese URL.

Webová stránka klienta PostAjaxClientPage.aspx obsahuje kód ASP.NET pro vyvolání služby pokaždé, když uživatel klikne na jedno z provozních tlačítek na stránce. Služba reaguje stejným způsobem jako v ukázce základní služby AJAX s požadavkem GET.

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

  1. Ujistěte se, že jste provedli pokyny k jednorázové instalaci ukázek windows Communication Foundation.

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

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