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.