Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Microsoft ASP.NET AJAX kan du snabbt skapa webbsidor som innehåller en omfattande användarupplevelse med dynamiska och välbekanta användargränssnittselement. ASP.NET AJAX tillhandahåller klientskriptbibliotek som innehåller ECMAScript-tekniker (JavaScript) och dynamiska HTML-tekniker (DHTML) och integrerar dem med ASP.NET 2.0-serverbaserad utvecklingsplattform. Genom att använda ASP.NET AJAX kan du förbättra användarupplevelsen och effektiviteten i dina webbprogram.
ASP.NET AJAX består av klientskriptbibliotek och serverkomponenter som är integrerade för att tillhandahålla ett robust utvecklingsramverk. För att komma åt en tjänst från en ASP.NET sida: När tjänst-URL:en har lagts till i ASP.NET Script Manager-kontrollen på sidan kan tjänståtgärder anropas med JavaScript-kod som ser exakt ut som ett vanligt JavaScript-funktionsanrop.
De flesta WCF-tjänster (Windows Communication Foundation) kan exponeras som en tjänst som är kompatibel med ASP.NET AJAX genom att lägga till en lämplig ASP.NET AJAX-slutpunkt.
Om du använder Visual Studio kan du använda en fördefinierad mall för AJAX-aktiverade WCF-tjänster, som är tillgänglig i dialogrutan Lägg till nytt objekt när du arbetar med ASP.NET webbplatser eller webbprogram.
Om du inte använder Visual Studio-mallarna finns det två sätt att skapa en ASP.NET AJAX-slutpunkt:
Skapa slutpunkten med dynamisk värdaktivering utan att använda någon konfiguration. Det här är den mest grundläggande metoden om du inte är bekant med WCF-konfigurationssystemet. Mer information finns i Så här lägger du till en ASP.NET AJAX-slutpunkt utan att använda konfiguration.
Lägg till en AJAX-aktiverad slutpunkt i en WCF-tjänst med hjälp av konfiguration. Mer information finns i How to: Use Configuration to Add an ASP.NET AJAX Endpoint (Använda konfiguration för att lägga till en ASP.NET AJAX-slutpunkt).
Webbprogrammeringsmodellen som beskrivs i översikten över WCF Web HTTP Programming Model kan användas med ASP.NET AJAX-tjänster. Specifikt:
Du kan använda attributen WebGetAttribute och WebInvokeAttribute för att välja mellan HTTP GET- och HTTP POST-verb. Om det används på rätt sätt kan detta avsevärt förbättra programmets prestanda. Mer information finns i Så här väljer du mellan HTTP POST- och HTTP GET-begäranden för ASP.NET AJAX-slutpunkter.
Du kan använda ResponseFormat egenskaperna och ResponseFormat för att få tjänsten att returnera XML-data i stället för JSON (Standard JavaScript Object Notation). Om du gör detta med ASP.NET AJAX-ramverket tar JavaScript-klienten emot ett XML DOM-objekt.
Varning
Åtgärden måste ange innehållstypen till text/xml för att det ska fungera. Annars får JavaScript-klienten en sträng som innehåller XML i stället för ett XML DOM-objekt.
Följande är ett exempel på en åtgärd som returnerar XML-data med innehållstypen inställd på rätt sätt:
[OperationContract, WebGet(ResponseFormat=WebMessageFormat.Xml)] public XElement GetData() { XElement x; //Get some data here... WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml"; return x; }Inga andra egenskaper för attributen WebGetAttribute och WebInvokeAttribute kan ändras om kompatibilitet med ASP.NET AJAX krävs. Andra aspekter av webbprogrammeringsmodellen kan användas så länge de ASP.NET AJAX-anropskonventionerna inte överträds.
För mer avancerade scenarier krävs det att viss ytterligare information om AJAX-stöd i WCF måste förstås.
Information om hur data överförs mellan en AJAX-sidklient och en WCF-tjänst med hjälp av JavaScript och mer information om hur .NET Framework-typer mappas till JavaScript-typer finns i Stöd för JSON- och andra dataöverföringsformat.
Om du vill dra nytta av ASP.NET funktioner, till exempel URL-baserad autentisering och åtkomst till ASP.NET sessionsinformation, kanske du vill aktivera ASP.NET kompatibilitetsläge via konfiguration.
AJAX-slutpunkter i WCF kan till och med användas utan ASP.NET AJAX-ramverket. För att göra det krävs en förståelse för stödarkitekturen för AJAX-stöd i WCF. För en diskussion om denna arkitektur, se WCF Web HTTP Programming Object Model. Ett kodexempel som visar den här metoden finns i AJAX-tjänsten med JSON och XML.