Partager via


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

Les projets de sous-ensemble portable permettent aux programmeurs d’assembly .NET de conserver une arborescence source unique et de créer un système tout en prenant en charge plusieurs implémentations .NET (bureau, Silverlight, Windows Phone et Xbox). Les projets de sous-ensemble portable référencent uniquement les bibliothèques portables qui sont des assemblys .NET qui peuvent être utilisés sur n’importe quelle implémentation .NET.

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

Lors de l’ajout d’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 s’appuient 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 message sont supprimés de toutes les descriptions de messages dans toutes les opérations avant l’importation.

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

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

  • Toutes les opérations de service sont générées en tant qu’opérations asynchrones sur le proxy client.

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

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

  • Un commentaire est inséré en haut 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

  • Le DataContractSerializer sera toujours utilisé pour les erreurs.

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

Voir aussi