Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Nouveautés dans Windows Communication Foundation 4.5

Cette rubrique présente les nouvelles fonctionnalités de Windows Communication Foundation (WCF).

Beaucoup de travail a été effectué pour faciliter le développement et la gestion des applications WCF 4.5. Pour plus d'informations, consultezFonctionnalités de simplification de WCF.

Dd456789.collapse_all(fr-fr,VS.110).gifPrise en charge du modèle asynchrone basé sur les tâches

Par défaut, la fonctionnalité Ajouter une référence de service génère des méthodes d'opération de service asynchrone retournant des tâches. Cette opération est effectuée pour les méthodes synchrones et asynchrones. Cela vous permet d'appeler les opérations de service de façon asynchrone à l'aide du modèle de programmation asynchrone basé sur les tâches. Lorsque vous appelez la méthode de proxy générée, WCF construit un objet Tâche pour représenter l'opération asynchrone et retourne cette tâche. La tâche se termine lorsque l'opération se termine. Si vous implémentez une opération asynchrone, vous pouvez l'implémenter en tant qu'opération asynchrone basée sur les tâches. Pour plus d'informations, consultez Opérations synchrones et asynchrones.

Dd456789.collapse_all(fr-fr,VS.110).gifFichiers de configuration générés simplifiés

Lorsque vous ajoutez une référence de service dans Visual Studio ou utilisez l'outil SvcUtil.exe, un fichier de configuration client est généré. Dans les versions antérieures de WCF, ces fichiers de configuration contenaient la valeur de chaque propriété de liaison et ce, même si sa valeur était la valeur par défaut. Dans WCF 4.5, les fichiers de configuration générés contiennent uniquement les propriétés de liaison qui ont une valeur non définie par défaut.

Pour plus d'informations, consultezFonctionnalités de simplification de WCF

Dd456789.collapse_all(fr-fr,VS.110).gifDéveloppement Contrat en premier

WCF prend désormais en charge le développement Contrat en premier. L'outil svcutl.exe a un commutateur /serviceContract qui vous permet de générer le service et les contrats de données à partir d'un document WSDL.

Dd456789.collapse_all(fr-fr,VS.110).gifAjouter une référence de service d'un projet de sous-ensemble portable

Les projets portables du sous-ensemble permettent aux programmeurs d'assembly .NET de maintenir une arborescence source unique et le système de génération tout en prenant en charge plusieurs plateformes .NET (de bureau, Silverlight, Windows Phone et XBOX). Les projets portables du sous-ensemble référencent uniquement les bibliothèques portables .NET qui sont un assembly .NET Framework pouvant être utilisé sur toute plateforme principale .NET. L'expérience du développeur est identique à celle de l'ajout d'une référence de service dans une autre application cliente WCF. Pour plus d'informations, consultezAjouter une référence de service à un projet de sous-ensemble portable.

Dd456789.collapse_all(fr-fr,VS.110).gifModification de la valeur par défaut pour le mode de compatibilité ASP.NET

WCF fournit le mode de compatibilité ASP.NET pour accorder aux développeurs l'accès total aux fonctionnalités dans le pipeline HTTP ASP.NET lors de l'écriture des services WCF. Pour utiliser ce mode, vous devez affecter la valeur True à l'attribut aspNetCompatibilityEnabled dans la section <serviceHostingEnvironment> du fichier web.config. De plus, la propriété RequirementsMode de tout service dans cet appDomain sur son AspNetCompatibilityRequirementsAttribute doit avoir la valeur Allowed ou Required. Par défaut, AspNetCompatibilityRequirementsAttribute a la valeur Allowed. Pour plus d'informations, consultezNouveautés dans Windows Communication Foundation 4.5 et Services WCF et ASP.NET.

Dd456789.collapse_all(fr-fr,VS.110).gifValeurs par défaut pour le nouveau transport

Afin de simplifier la configuration, plusieurs valeurs de propriété de transport par défaut ont été modifiées. Pour plus d'informations, consultezFonctionnalités de simplification de WCF.

Dd456789.collapse_all(fr-fr,VS.110).gifXmlDictionaryReaderQuotas

XmlDictionaryReaderQuotas contient des valeurs de quota configurables pour les lecteurs du dictionnaire XML qui limitent la quantité de mémoire utilisée par un encodeur lors de la création d'un message. Bien que ces quotas soient configurables, les valeurs par défaut ont changé pour réduire le risque qu'un développeur doivent les définir explicitement. Pour plus d'informations, consultezFonctionnalités de simplification de WCF.

Dd456789.collapse_all(fr-fr,VS.110).gifValidation de configuration WCF

Dans le cadre du processus de génération dans Visual Studio, les fichiers de configuration WCF sont maintenant validés pour les attributs définis dans le projet. Une liste d'erreurs ou d'avertissements de validation s'affiche dans Visual Studio si la validation échoue.

Dd456789.collapse_all(fr-fr,VS.110).gifInfo-bulles de l'éditeur XML

Pour aider les développeurs de services WCF nouveaux et existants à configurer leurs services, l'Éditeur XML de Visual Studio fournit maintenant des info-bulles pour chaque élément de configuration et ses propriétés qui fait partie du fichier de configuration du service.

Ajout de la prise en charge de la diffusion en continu asynchrone là où le côté expéditeur ne bloque pas les threads si le côté destinataire ne lit pas ou n'est pas lent dans la lecture, ce qui accroît l'extensibilité. Suppression de la limitation de mise en mémoire tampon des messages lorsqu'un client envoie un message transmis en continu à un service WCF hébergé par IIS. Pour plus d'informations, consultezFonctionnalités de simplification de WCF.

Un mappage de protocole HTTPS a été ajouté pour simplifier l'exposition d'un point de terminaison sur HTTPS. Pour activer un point de terminaison HTTPS, assurez-vous que votre site Web dispose d'une liaison HTTPS et d'un certificat SSL configurés, puis activez HTTPS pour le répertoire virtuel qui héberge le service. Si les métadonnées sont activées pour le service, elles seront également exposées via HTTPS.

Certaines piles de traitement WSDL tierces ne peuvent pas traiter les documents WSDL qui dépendent d'autres documents via un xsd:import. WCF vous permet maintenant de spécifier que toutes les informations WSDL doivent être retournées dans un document unique. Pour demander un seul document WSDL, ajoutez « ?singleWSDL » à l'URI lorsque vous demandez des métadonnées de service.

WebSockets est une technologie qui fournit la véritable communication bidirectionnelle sur les ports 80 et 443 avec des caractéristiques de performances semblables à TCP. Deux nouvelles liaisons ont été ajoutées pour prendre en charge les communications via un transport WebSocket. NetHttpBinding et NetHttpsBinding. Pour plus d'informations, consultez Liaisons fournies par le système.

Le tableau suivant décrit les paramètres qui ont changé et où trouver des informations supplémentaires.

Property

On

Nouvelle valeur par défaut

Pour plus d'informations, consultez

channelInitializationTimeout

NetTcpBinding

30 secondes

ChannelInitializationTimeout

listenBacklog

NetTcpBinding

12 * nombre de processeurs

ListenBacklog

maxPendingAccepts

ConnectionOrientedTransportBindingElement

SMSvcHost.exe

2 * nombre de processeurs pour le transport

4 * nombre de processeurs pour SMSvcHost.exe

MaxPendingAccepts Configuration du service de partage de ports Net.TCP

maxPendingConnections

ConnectionOrientedTransportBindingElement

12 * nombre de processeurs

MaxPendingConnections

receiveTimeout

SMSvcHost.exe

30 secondes

Configuration du service de partage de ports Net.TCP

Pour aider les développeurs de services WCF nouveaux et existants à configurer leurs services, l'Éditeur XML de Visual Studio fournit maintenant des info-bulles pour chaque élément de configuration et ses propriétés qui fait partie du fichier de configuration du service.

Windows Communication Foundation (WCF) permet aux développeurs de configurer des services dans les fichiers de configuration ou du code. Les fichiers de configuration sont utiles lorsqu'un service doit être configuré après avoir été déployé. Lorsqu'il utilise des fichiers de configuration, un professionnel de l'informatique doit uniquement mettre à jour le fichier de configuration, aucune recompilation n'est nécessaire. Les fichiers de configuration, toutefois, peuvent être complexes et difficiles à gérer. Il n'existe aucune prise en charge du débogage de fichiers de configuration et les éléments de configuration sont référencés par des noms. La création de fichiers de configuration est donc susceptible d'engendrer des erreurs et difficile. WCF vous permet également de configurer des services dans le code. Dans les versions antérieures de WCF (4.0 ou version antérieure) configurer des services dans le code était simple dans les scénarios auto-hébergés ; la classe ServiceHost vous autorisait à configurer les points de terminaison et les comportements avant d'appeler ServiceHost.Open. Dans les scénarios hébergés sur le Web, toutefois, vous n'avez pas accès à la classe ServiceHost. Pour configurer un service hébergé sur le Web vous deviez créer un ServiceHostFactory qui créait le ServiceHost et effectuait la configuration nécessaire. Depuis le .NET 4.5, WCF offre un moyen plus simple de configurer des services auto-hébergés et hébergés sur le Web dans le code. Pour plus d'informations, consultezConfiguration de services WCF dans le code.

Les applications clientes WCF utilisent la classe ChannelFactory<TChannel> pour créer un canal de communication avec un service WCF. La création d'instances ChannelFactory<TChannel> entraîne une certaine charge, car elle comporte les opérations suivantes :

  1. Construction de l'arborescence ContractDescription

  2. Refléter tous les types CLR requis

  3. Construction de la pile de canaux

  4. Suppression de ressources

Pour réduire cette surcharge, WCF peut mettre en cache les fabriques de canaux lorsque vous utilisez un proxy du client WCF. Pour plus d'informations, consultezFabrication de canal et mise en cache.

Depuis WCF 4.5, l'encodeur binaire WCF ajoute la prise en charge de la compression. Le type de compression est configuré avec la propriété CompressionFormat. Le client et le service doivent configurer la propriété CompressionFormat. La compression fonctionnera pour les protocoles HTTP, HTTPS et TCP. Si un client détermine l'utilisation de la compression, mais le service ne la prend pas en charge, une exception de protocole est levée indiquant une incompatibilité de protocole. Pour plus d'informations, consultezSélection d'un encodeur de message

La prise en charge a été ajoutée pour un transport UDP qui permet aux développeurs d'écrire des services qui utilisent la messagerie de type « déclenché et oublié » (fire and forget). Un client envoie un message à un service et n'attend aucune réponse de ce dernier.

La prise en charge a été ajoutée pour prendre en charge plusieurs modes d'authentification, tels que pris en charge par IIS, sur un point de terminaison unique WCF lorsque vous utilisez le transport et la sécurité de transport HTTP. IIS vous permet d'activer plusieurs modes d'authentification sur un répertoire virtuel, cette fonctionnalité permet à un seul point de terminaison WCF de prendre en charge plusieurs modes d'authentification activés pour le répertoire virtuel où le service WCF est hébergé.

La prise en charge a été ajoutée pour tenir compte des services WCF avec des noms IDN (Internationalized Domain Names). Pour plus d'informations, consultez WCF et IDN (Internationalized Domain Names).

Une nouvelle classe appelée HttpClient a été ajoutée pour faciliter l'utilisation des requêtes HTTP. Pour plus d'informations, consultez Rendre les applications sociales et associées à des services HTTP et Exemple de client HTTP.

Les valeurs d'attribut dans les fichiers de configuration des attributs personnalisés définis dans le projet prennent désormais en charge Intellisense pour une utilisation rapide et correcte des configurations.

Les éléments et les attributs WCF ont maintenant des info-bulles dans l'éditeur XML afin d'identifier plus facilement et plus précisément l'objectif de l'élément ou de l'attribut.

Dans un projet WCF, les types de données définis en XML (tels que ceux exposés dans un service) peuvent être collés directement dans une page de codes. Le type XML sera collé comme type CLR. Pour plus d'informations, consultez Génération de classes de type de donneés à partir de XML.

Dans Visual Studio 2010, WebServiceHost a automatiquement créé un point de terminaison par défaut, que vous ayez ou non spécifié explicitement un point de terminaison. Dans Visual Studio 2012 WebServiceHost créera un seul point de terminaison par défaut si aucun point de terminaison n'est explicitement ajouté. Si votre client attend le point de terminaison par défaut, ajoutez un point de terminaison et faites pointer le client vers ce dernier. Sinon, indiquez à WCF de rétablir le comportement précédent en ajoutant le paramètre suivant au fichier de configuration de l'application

<appSettings>
    <add key="wcf:webservicehost:enableautomaticendpointscompatability" value="true"/>
  </appSettings>


Cette interface, exposée par HttpChannelFactory, facilite l'utilisation des cookies côté client. Lorsque AllowCookies a la valeur True sur la liaison, accédez aux cookies à l'aide du code suivant :

IHttpCookieContainerManager cookieManager = factory.GetProperty<IHttpCookieContainerManager>(); 
System.Net.CookieContainer container = cookieManager.CookieContainer; 


Vous pouvez ensuite récupérer ou définir les cookies à partir de CookieContainer.Lorsque AllowCookies a la valeur False, vous pouvez extraire manuellement les cookies à l'aide de OperationContext et les envoyer dans d'autres requêtes à l'aide d'un autre OperationContext ou d'un inspecteur de message.L'interface IHttpCookieContainerManager vous permet d'authentifier un utilisateur avec un service et d'utiliser le cookie d'authentification retourné par ce service pour l'authentifier auprès d'autres services.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft