Partager via


Ajouter une référence de service à un projet de sous-ensemble portable

Les projets de sous-ensemble portable 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 implémentations de .NET (bureau, Silverlight, Windows Phone et Xbox). Les projets de sous-ensemble portable référencent uniquement des bibliothèques portables qui sont des assemblys .NET utilisables sur toute implémentation de .NET.

Ajouter des détails de référence de service

Quand vous ajoutez une référence de service dans un projet de sous-ensemble portable, les restrictions suivantes sont appliquées :

  • Pour XmlSerializer, seuls les encodages littéraux sont autorisés. Les encodages SOAP génèrent une erreur lors de l'importation.

  • Pour les services qui utilisent des scénarios DataContractSerializer, un substitut de contrat de données est fourni pour garantir que les types réutilisés proviennent uniquement du sous-ensemble portable.

  • Les points de terminaison qui reposent sur des liaisons non prises en charge dans les bibliothèques portables (toutes les liaisons sauf BasicHttpBinding, WSHttpBinding sans flux de transaction, sessions fiables ou encodage MTOM et liaisons personnalisées équivalentes) sont ignorés.

  • Les en-têtes de messages sont supprimés de toutes les descriptions des messages dans toutes les opérations avant importation.

  • Les attributs non portables DesignerCategoryAttribute, SerializableAttribute et TransactionFlowAttribute sont supprimés du code du proxy client généré.

  • Les propriétés non portables ProtectionLevel, SessionMode, IsInitiating, IsTerminating sont supprimées de ServiceContractAttribute, OperationContractAttribute et FaultContractAttribute.

  • Toutes les opérations de service sont générées comme des opérations asynchrones sur le proxy client.

  • Les constructeurs clients générés qui utilisent des types non portables sont supprimés.

  • Une instance CookieContainer est exposée sur le client généré.

  • Un commentaire est inséré au début du fichier identifiant l'assembly et la version du générateur de code :// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0

  • L'interface ISerializable n'est pas prise en charge.

  • Les liaisons Net.Tcp et PollingDuplex ne sont pas prises en charge

  • DataContractSerializer sera toujours utilisé pour les erreurs.

  • IsWrapped n'est pas pris en charge dans les projets portables du sous-ensemble.

Voir aussi