Share via


Servicereferentie toevoegen in een draagbaar subsetproject

Met draagbare subsetprojecten kunnen .NET-assemblyprogrammeurs één bronstructuur en buildsysteem onderhouden terwijl ze nog steeds meerdere .NET-implementaties ondersteunen (desktop, Silverlight, Windows Telefoon en Xbox). Draagbare subsetprojecten verwijzen alleen naar draagbare bibliotheken die .NET-assembly's zijn die kunnen worden gebruikt voor elke .NET-implementatie.

Details van servicereferentie toevoegen

Wanneer u een serviceverwijzing toevoegt in een draagbaar subsetproject, worden de volgende beperkingen afgedwongen:

  • Voor XmlSerializer, alleen letterlijke coderingen zijn toegestaan. SOAP-coderingen genereren een fout tijdens het importeren.

  • Voor services die gebruikmaken van DataContractSerializer scenario's, wordt een surrogaat voor een gegevenscontract verstrekt om ervoor te zorgen dat hergebruikte typen alleen afkomstig zijn van de draagbare subset.

  • Eindpunten die afhankelijk zijn van bindingen die niet worden ondersteund in draagbare bibliotheken (alle bindingen behalve BasicHttpBinding, WSHttpBinding zonder transactiestroom, betrouwbare sessies of MTOM-codering en gelijkwaardige aangepaste bindingen) worden genegeerd.

  • Berichtkoppen worden verwijderd uit alle berichtbeschrijvingen in alle bewerkingen voordat ze worden geïmporteerd.

  • Niet-draagbare kenmerken DesignerCategoryAttributeen SerializableAttributeTransactionFlowAttribute worden verwijderd uit gegenereerde clientproxycode.

  • Niet-draagbare eigenschappen ProtectionLevel, SessionMode, IsInitiating, IsTerminating worden verwijderd uit ServiceContractAttribute, OperationContractAttributeen FaultContractAttribute.

  • Alle servicebewerkingen worden gegenereerd als asynchrone bewerkingen op de clientproxy.

  • Gegenereerde clientconstructors die niet-draagbare typen gebruiken, worden verwijderd.

  • Er wordt een CookieContainer exemplaar weergegeven op de gegenereerde client.

  • Boven aan het bestand wordt een opmerking ingevoegd die de assembly en versie van de codegenerator identificeert:// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0

  • De ISerializable interface wordt niet ondersteund.

  • Net.Tcp- en PollingDuplex-bindingen worden niet ondersteund

  • De DataContractSerializer zal altijd worden gebruikt voor fouten.

  • IsWrapped wordt niet ondersteund in draagbare subsetprojecten.

Zie ook