Règles de conception pour les services Web XML créés à l'aide d'ASP.NET

Cette rubrique est spécifique à une technologie existante. Les services Web XML et les clients du service Web XML doivent à présent être créés à l'aide de Windows Communication Foundation.

Les services Web sont une technologie puissante qui fournit des services accessibles par programme via Internet. Les recommandations suivantes peuvent vous aider à créer des services Web pertinents :

  • Les services Web prennent en charge la communication synchrone et asynchrone entre le client et le serveur qui héberge le service Web. En communication synchrone, le client envoie une demande de service au serveur hôte du service et attend la réponse. Cela empêche le client d'exécuter d'autres opérations en attendant les résultats. Toutefois, la communication asynchrone oblige le client à continuer à traiter d'autres tâches car il attend une réponse. Le client répond au résultat de la demande de service lorsqu'il devient disponible.

    Lorsque vous utilisez l'outil Web Services Description Language (Wsdl.exe) pour créer votre classe proxy, il génère les versions synchrones, standard, et les versions asynchrones des méthodes dans la classe. Les versions asynchrones se composent de deux méthodes appelées Begin et End. La méthode Begin est utilisée pour initier le service Web, pendant que la méthode End récupère les résultats.

    L'utilisation de la communication asynchrone améliore l'utilisation du système et évite les retards sur le client pendant qu'il attend les résultats du service Web.

    Pour voir un exemple de code , consultez Comment : procéder à un appel asynchrone d'un client de service Web. Pour plus d'informations sur la communication asynchrone, consultez Communications asynchrones avec les services Web XML.

  • De trop nombreuses demandes de service via Internet peuvent affecter la performance de l'application cliente. Lorsque vous concevez votre service Web, utilisez efficacement les demandes de service en créant des méthodes qui regroupent les informations connexes. Par exemple, supposons que vous ayez un service Web qui récupère des informations à propos d'un livre. Au lieu d'avoir méthodes séparées pour récupérer le titre, l'auteur et l'éditeur du livre, créez une méthode qui retourne toutes ces informations dans une seule demande de service. Il est plus efficace de transférer un grand bloc d'informations à la fois que plusieurs petits blocs d'informations.

  • Pour voir un exemple de code, consultez Comment : regrouper des informations connexes dans une méthode de service Web unique. Lorsque vous concevez votre service Web, assurez-vous d'utiliser des pratiques de programmation standard orientées objet. Utilisez l'encapsulation pour masquer les détails d'implémentation. Pour des services Web plus complexes, vous pouvez utiliser l'héritage et le polymorphisme pour réutiliser le code et simplifier votre conception.

  • Pour voir un exemple de code, consultez Comment : utiliser l'héritage dans un service Web. Utilisez la mise en cache de sortie pour améliorer la performance de votre service Web. Lorsque la mise en cache de sortie est activée, les résultats d'une demande de service sont stockés dans le cache de sortie pour une durée spécifiée. Si une demande de service Web semblable est faite, le résultat peut être obtenu du cache plutôt qu'en le recalculant. Cela optimise le délai de réaction du service Web en réduisant le traitement requis par le serveur de service Web. La mise en cache peut être exécutée à la fois sur le client et le serveur. La propriété Duration vous permet de spécifier la durée de mise en cache de la sortie d'un service Web.

    La directive pour activer la mise en cache de sortie sur le client est :

    <%@ OutputCache Duration="60" %>
    For a code example, see How to: Enable Output Caching on a Web Service Client.You can also use the CacheDuration property of the WebMethod attribute class to enable caching on the server. For a code example, see How to: Enable Server-Side Output Caching for a Web Service.
    
  • Lors de la conception de votre service Web, essayez de suivre la structure de mise en forme d'un schéma.

  • Les services Web utilisent SOAP comme transport principal et protocole de sérialisation. Un message SOAP se compose d'un jeu facultatif d'en-têtes et du corps du message. La section d'en-tête contient des informations qui peuvent être traitées par l'infrastructure sur le serveur Web. SOAP ne définit aucun en-tête. La section du corps contient des informations traitées par une application, telle que les paramètres ou la valeur de retour pour un service Web.

    Pour plus d'informations en l'utilisation des en-têtes SOAP, consultez Utilisation d'en-têtes SOAP.

  • Fournissez de la documentation pour votre service Web, par exemple un fichier HTML statique décrivant le fonctionnement de votre service et les structures de données. Incluez également des exemples d'utilisation du service Web. Ne comptez pas sur la description de service ou la page d'aide du service comme seule documentation.

Voir aussi

Tâches

Comment : procéder à un appel asynchrone d'un client de service Web
Comment : regrouper des informations connexes dans une méthode de service Web unique
Comment : utiliser l'héritage dans un service Web
Comment : activer la mise en cache de sortie sur un client de service Web
Comment : activer la mise en cache de sortie côté serveur pour un service Web

Concepts

Communications asynchrones avec les services Web XML

Autres ressources

Services Web XML utilisant ASP.NET
Utilisation d'en-têtes SOAP