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
Ujistěte se, že jste provedli pokyny k jednorázové instalaci ukázek windows Communication Foundation.
Sestavte řešení PostAjaxService.sln, jak je popsáno v části Sestavení ukázek Windows Communication Foundation.
Přejděte na
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
(neotevírejte PostAjaxClientPage.aspx v prohlížeči z adresáře projektu).