Dela via


Lägg till tjänstreferens i ett portabelt delmängdsprojekt

Portabla delmängdsprojekt gör det möjligt för .NET-monteringsprogram att underhålla ett enda källträd och byggsystem samtidigt som de stöder flera .NET-implementeringar (skrivbord, Silverlight, Windows Telefon och Xbox). Portabla delmängdsprojekt refererar endast till portabla bibliotek som är .NET-sammansättningar som kan användas i alla .NET-implementeringar.

Lägg till tjänstreferensinformation

När du lägger till en tjänstreferens i ett portabelt delmängdsprojekt tillämpas följande begränsningar:

  • För XmlSerializertillåts endast literalkodningar. SOAP-kodningar genererar ett fel under importen.

  • För tjänster som använder DataContractSerializer scenarier tillhandahålls ett datakontraktsurrogat för att säkerställa att återanvända typer endast kommer från den bärbara delmängden.

  • Slutpunkter som förlitar sig på bindningar som inte stöds i bärbara bibliotek (alla bindningar utom BasicHttpBinding, WSHttpBinding utan transaktionsflöde, tillförlitliga sessioner eller MTOM-kodning och motsvarande anpassade bindningar) ignoreras.

  • Meddelandehuvuden tas bort från alla meddelandebeskrivningar i alla åtgärder före import.

  • Icke-portabla attribut DesignerCategoryAttribute, SerializableAttributeoch TransactionFlowAttribute tas bort från genererad klientproxykod.

  • Icke-bärbara egenskaper ProtectionLevel, SessionMode, IsInitiating, IsTerminating tas bort från ServiceContractAttribute, OperationContractAttributeoch FaultContractAttribute.

  • Alla tjänståtgärder genereras som asynkrona åtgärder på klientproxyn.

  • Genererade klientkonstruktorer som använder icke-portabla typer tas bort.

  • En CookieContainer instans exponeras på den genererade klienten.

  • En kommentar infogas överst i filen som identifierar sammansättningen och versionen av kodgeneratorn:// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0

  • Gränssnittet ISerializable stöds inte.

  • Net.Tcp- och PollingDuplex-bindningar stöds inte

  • DataContractSerializer Kommer alltid att användas för fel.

  • IsWrapped stöds inte i portabla delmängdsprojekt.

Se även