Sommaire: Consommer des services distants dans les pages ASP.NET Ajax
1 Introduction
1.1 Présentation
1.2 Pré‐requis
2 Architecture client / serveur
2.1 Présentation
2.2 Côté serveur
2.3 Côté client
3 Présentation de l’application à développer
4 Consommation d’un service WCF
4.1 Création d’un service WCF
4.2 Consommation du service WCF
4.2.1 Enregistrement du service WCF
4.2.2 Consommation du service WCF dans une page
5 Consommation d’un service Web Ajax
5.1 Présentation
5.2 Création d’un service Web Ajax
5.3 Consommation du service Web Ajax
6 Consommation d’une méthode de page
6.1 Présentation
6.2 Création d’une méthode de page
6.3 Consommation de la méthode de page
6.3.1 Activation de la consommation de méthodes de page
6.3.2 Consommation de la méthode de page
Extrait du cours consommer des services distants dans les pages ASP.NET Ajax
1 Introduction
1.1 Présentation
Dans les applications ASP .NET, la communication entre le client et le serveur, permet d’améliorer nettement les performances et l’interactivité entre les utilisateurs et l’application. Dans ce support de cours, nous allons étudier comment dans un bloc de code JavaScript, consommer des services distants suivants :
‐ Les services Web
‐ Les méthodes de page
‐ Les services WCF
1.2 Prérequis
Avant de lire ce cours, vous devez avoir lu les cours suivants :
‐ Les bases fondamentales de Microsoft ASP.NET Ajax.
‐Pour la consommation de services Web : création et consommation de services Web avec le Framework .NET.
‐Pour la consommation de services WCF : conception et implémentation de services WCF.
2 Architecture pour la communication client / serveur
2.1 Présentation
Avec le Framework .NET, Microsoft fournit des composants côté serveur et côté client, permettant à un bloc de code JavaScript de consommer des services distants..
2.2 Côté serveur
Côté serveur, Microsoft propose un ensemble de composants, permettant à des clients de consommer des services distants. Pour permettre cette communication, il est nécessaire de définir le module HTTP ScriptModule, dans le fichier de configuration de l’application ASP .NET. Vous pouvez par ailleurs remarquer sa présence dans tout projet ASP .NET, développée avec le Framework .NET 3.5 :
// C# et VB .NET <modules> <remove name="ScriptModule"/> <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </modules>
2.3 Côté client
Côté client, le Framework .NET génère des classes proxy en JavaScript, permettant de créer des objets qui pourront être sérialisés, de manière à être envoyé à un serveur distant, pour consommer les services distants. Pour enregistrer un service consommable à distance, le contrôle ScriptManager un rôle important.
3 Présentation de l’application à développer
L’application à développer, permettant de consommer des services distants est très simple :
– Côté serveur, le service doit renvoyer la date et l’heure courante.
– Côté client, la page doit contenir une zone de texte non modifiable (un label), et un simple bouton XHTML, permettant de consommer le service distant.
Cette application servira de base pour les trois exemples qui suivent, qui montrent comment consommer :
– Un service WCF.
– Un service Web.
– Une méthode de page.
4 Consommation d’un service WCF
4.1 Création d’un service WCF
Dans une application ASP .NET, ajouter un service WCF, nommé TimeServiceWCF. La création d’un service WCF crée plusieurs fichiers :
– Dans le répertoire ASP .NET nommé App_Code :
o Crée une interface nommée ITimeServiceWCF. Cette classe définie et configure les services exposés par le service WCF. Cette interface fait office de contrat :
// C# usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Runtime.Serialization; usingSystem.ServiceModel; usingSystem.Text; // REMARQUE : si vous modifiez le nom d’interface « ITimeServiceWCF » ici, vous devez également mettre à jour la référence à « ITimeServiceWCF » dans Web.config. [ServiceContract(Name="TimeServiceWCF", Namespace="ServicesDistantsWCF")] public interface ITimeServiceWCF { [OperationContract] stringGetDateHeureCourante(); }
4.2 Consommation du service WCF
4.2.1 Enregistrement du service WCF
Dans un premier temps il est nécessaire d’enregistrer le service comme étant consommable dans un bloc de code JavaScript. Pour ce faire, il faut utiliser le contrôle ScriptManager (ou ScriptManagerProxy). Il existe deux manières de faire :
‐ De manière déclarative (codage XHTML) :
// C# et VB .NET <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="~/Services/TimeServiceWCF.svc" /> </Services> </asp:ScriptManager>
…….
Consommer des services distants dans les pages ASP.NET Ajax (410.10 KO) (Cours PDF)