Partager via


Basic AJAX Service

Cet exemple montre comment utiliser Windows Communication Foundation (WCF) pour créer un service de base ASP.NET AJAX (Asynchronous JavaScript and XML), c'est-à-dire un service accessible à l'aide d'un code Javascript par un client de navigateur Web). L'attribut WebGetAttribute est utilisé afin de garantir que le service répond aux requêtes HTTP GET et que ce service utilise le format de données JSON (JavaScript Object Notation) pour les réponses.

La prise en charge d'AJAX dans WCF est optimisée pour une utilisation d'ASP.NET AJAX à l'aide du paramètre ScriptManager. Pour obtenir un exemple illustrant l'utilisation de WCF avec ASP.NET AJAX, consultez Exemples AJAX.

Bb410778.note(fr-fr,VS.90).gifRemarque :
Cet exemple requiert l'installation de .NET Framework version 3.5 pour être généré et exécuté. Visual Studio 2008 est nécessaire pour l'ouverture des fichiers projet et solution.

Bb410778.note(fr-fr,VS.90).gifRemarque :
La procédure d'installation ainsi que les instructions de génération relatives à cet exemple figurent en fin de rubrique.

Dans le code suivant, l'attribut WebGetAttribute est appliqué à l'opération Add afin de garantir que le service répond aux requêtes HTTP GET. Le code utilise la méthode GET pour des raisons pratiques (vous pouvez construire une requête HTTP GET à partir de tout navigateur Web). Vous pouvez également utiliser la méthode GET pour activer la mise en cache. HTTP POST est la valeur par défaut en l'absence d'attribut WebGetAttribute.

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

Vous pouvez créer un point de terminaison AJAX sur le service en utilisant la liaison standard <webHttpBinding> et le comportement <enableWebScript> dans le fichier de configuration du service.

<system.serviceModel>
    <behaviors>
        <endpointBehaviors>
            <behavior name="Microsoft.Ajax.Samples.CalculatorServiceAspNetAjaxBehavior">
                <enableWebScript />
            </behavior>
        </endpointBehaviors>
    </behaviors>
    <services>
        <service name="Microsoft.Ajax.Samples.CalculatorService">
            <endpoint address=" "
                behaviorConfiguration="Microsoft.Ajax.Samples.CalculatorServiceAspNetAjaxBehavior" 
                binding="webHttpBinding"
                contract="Microsoft.Ajax.Samples.ICalculator" />
        </service>
    </services>
</system.serviceModel>

Le comportement enableWebScript affecte au format de données par défaut du service la valeur JSON au lieu de XML. Pour appeler le service, naviguez jusqu'à https://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 après avoir effectué les étapes d'installation et de génération indiquées plus loin. L'utilisation d'une requête HTTP GET active cette fonctionnalité de test.

Le page Web PostAjaxClientPage.aspx du client contient le code ASP.NET permettant d'appeler le service à chaque fois que l'utilisateur clique sur l'un des boutons d'opération de cette page. Le contrôle ScriptManager est utilisé pour permettre l'accès à un proxy du service via JavaScript.

<asp:ScriptManager ID="ScriptManager" runat="server">
     <Services>
          <asp:ServiceReference Path="service.svc" />
     </Services>
</asp:ScriptManager>

Le proxy local est instancié et les opérations sont appelées à l'aide du code Javascript suivant.

// Code for extracting arguments n1 and n2 omitted…
// Instantiate a service proxy
var proxy = new SimpleAjaxService.ICalculator();
// Code for selecting operation omitted…
proxy.Add(parseFloat(n1), parseFloat(n2), onSuccess, onFail, null);

Si l'appel du service réussit, le code appelle le gestionnaire onSuccess et le résultat de l'opération s'affiche dans une zone de texte.

function onSuccess(mathResult){
     document.getElementById("result").value = mathResult;
}

Pour configurer, générer et exécuter l'exemple

  1. Assurez-vous d'avoir suivi les instructions d'installation de la section Procédure d'installation unique pour les exemples Windows Communication Foundation.

  2. Générez la solution SimpleAjaxService.sln tel qu'indiqué à la section Génération des exemples Windows Communication Foundation.

  3. Naviguez jusqu'à https://localhost/ServiceModelSamples/SimpleAjaxClientPage.aspx (n'ouvrez pas le fichier SimpleAjaxClientPage.aspx à l'aide d'un navigateur depuis le répertoire du projet).

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.