Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’exemple PostAjaxService montre comment utiliser Windows Communication Foundation (WCF) pour créer un service JavaScript et XML asynchrone (AJAX) ASP.NET qui utilise HTTP POST. Un service AJAX est un service auquel vous pouvez accéder à l’aide de code JavaScript de base à partir d’un client de navigateur web. Cet exemple s’appuie sur l’exemple de service AJAX de base ; la seule différence entre les deux exemples est l’utilisation de HTTP POST au lieu de HTTP GET.
La prise en charge AJAX dans Windows Communication Foundation (WCF) est optimisée pour une utilisation avec ASP.NET AJAX via le contrôle ScriptManager. Pour obtenir un exemple d’utilisation de WCF avec ASP.NET AJAX, consultez les exemples Ajax.
Remarque
La procédure d’installation et les instructions de génération de cet exemple se trouvent à la fin de cette rubrique.
Le service de l’exemple suivant est un service WCF sans code spécifique à AJAX.
Si l’attribut WebInvokeAttribute est appliqué à une opération ou si l’attribut n’est pas appliqué, le WebGetAttribute verbe HTTP par défaut (« POST ») est utilisé. Les requêtes POST sont plus difficiles à construire que les requêtes GET, mais elles ne sont pas mises en cache ; utilisez des requêtes POST pour toutes les opérations où la mise en cache n’est pas appropriée.
[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
[WebInvoke]
double Add(double n1, double n2);
//Other operations omitted…
}
Créez un point de terminaison AJAX sur le service en utilisant le WebScriptServiceHostFactory, comme dans l'exemple du service AJAX de base.
Contrairement aux requêtes GET, vous ne pouvez pas appeler les services POST à partir du navigateur. Par exemple, la navigation vers http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 entraînera une erreur, car le service POST s’attend à ce que les paramètres n1 et n2 soient envoyés dans le corps du message au format JSON, et non dans l’URL.
La page web cliente PostAjaxClientPage.aspx contient ASP.NET code pour appeler le service chaque fois que l’utilisateur clique sur l’un des boutons d’opération sur la page. Le service répond de la même façon que dans l’exemple de service AJAX de base , avec la requête GET.
Pour configurer, générer et exécuter l’exemple
Assurez-vous que vous exécutez les instructions de configuration One-Time Procédure de configuration pour les exemples de Windows Communication Foundation.
Générez la solution PostAjaxService.sln comme décrit dans Génération des exemples Windows Communication Foundation.
Accédez à
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx(n’ouvrez pas PostAjaxClientPage.aspx dans le navigateur à partir du répertoire du projet).