Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A PostAjaxService minta bemutatja, hogyan használható a Windows Communication Foundation (WCF) a HTTP POST-t használó ASP.NET Aszinkron JavaScript- és XML-szolgáltatás (AJAX) létrehozására. Az AJAX-szolgáltatás olyan szolgáltatás, amely egy webböngésző-ügyfél alapszintű JavaScript-kódját használva érhető el. Ez a minta az alapszintű AJAX-szolgáltatás mintájára épül; a két minta között az egyetlen különbség a HTTP POST használata a HTTP GET helyett.
A Windows Communication Foundation (WCF) AJAX-támogatása ASP.NET AJAX-tal való használatra van optimalizálva a ScriptManager vezérlőn keresztül. Példa a WCF ASP.NET AJAX-tal való használatára, lásd az Ajax-mintákat.
Megjegyzés:
A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.
A következő mintában szereplő szolgáltatás egy WCF-szolgáltatás, amely nem tartalmaz AJAX-specifikus kódot.
Ha az WebInvokeAttribute attribútumot egy műveletre alkalmazza, vagy az WebGetAttribute attribútum nincs alkalmazva, a rendszer az alapértelmezett HTTP-igét ("POST") használja. A POST-kérések létrehozása nehezebb, mint a GET-kérések, de nem gyorsítótárazva; használjon POST-kéréseket minden olyan művelethez, ahol a gyorsítótárazás nem megfelelő.
[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
[WebInvoke]
double Add(double n1, double n2);
//Other operations omitted…
}
Hozzon létre egy AJAX-végpontot a szolgáltatásban az WebScriptServiceHostFactoryalapszintű AJAX-szolgáltatás mintájához hasonlóan.
A GET kérésekkel ellentétben a POST-szolgáltatásokat nem lehet meghívni a böngészőből. A http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 navigálás hibát eredményez, mert a POST szolgáltatás elvárja, hogy a n1 és n2 paraméterek az üzenet törzsében JSON formátumban legyenek elküldve, és ne az URL-címben.
Az ügyféloldal PostAjaxClientPage.aspx ASP.NET kódot tartalmaz, amely meghívja a szolgáltatást, amikor a felhasználó a lap egyik művelet gombjára kattint. A szolgáltatás ugyanúgy válaszol, mint az alapszintű AJAX-szolgáltatás mintájában, a GET kéréssel.
A példa beállítása, elkészítése és futtatása
Győződjön meg arról, hogy végrehajtja a One-Time telepítési eljárást a Windows Communication Foundation mintákhoz.
Készítse el a PostAjaxService.sln megoldást a Windows Communication Foundation minták készítéséről szóló leírás szerint.
Keresse fel
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx(ne nyissa meg a PostAjaxClientPage.aspx fájlt a böngészőben a projektkönyvtárból).