Hinzufügen eines Dienstverweises in einem Projekt für die portable Teilmenge
Portable Subset-Projekte ermöglichen Programmierern von .NET-Assemblys, eine einzelne Quellstruktur zu verwalten und das System mit Unterstützung mehrerer .NET-Implementierungen (Desktop, Silverlight, Windows Phone und Xbox) aufzubauen. Portable Subset-Projekte verweisen nur auf portierbare .NET-Bibliotheken, die .NET-Assemblys sind, die von einer beliebigen .NET-Implementierung verwendet werden können.
Details zu "Dienstverweis hinzufügen"
Wenn Sie einem Portable Subset-Projekt einen Dienstverweis hinzufügen, werden die folgenden Einschränkungen erzwungen:
Für XmlSerializer sind nur literale Codierungen zulässig. SOAP-Codierungen generieren während des Imports einen Fehler.
Bei Diensten, die DataContractSerializer-Szenarien verwenden, wird ein Datenvertrag-Ersatzzeichen bereitgestellt, um sicherzustellen, dass wiederverwendete Typen nur aus der portablen Teilmenge stammen.
Endpunkte, die auf Bindungen basieren, die in portablen Bibliotheken nicht unterstützt werden (alle Bindungen außer BasicHttpBinding, WSHttpBinding ohne Transaktionsfluss, zuverlässige Sitzungen oder MTOM-Codierung und die entsprechenden benutzerdefinierten Bindungen), werden ignoriert.
Nachrichtenheader werden vor dem Import aus allen Nachrichtenbeschreibungen in sämtlichen Vorgängen gelöscht.
Die nicht portablen Attribute DesignerCategoryAttribute, SerializableAttribute und TransactionFlowAttribute werden aus generiertem Clientproxycode entfernt.
Die nicht portablen Eigenschaften ProtectionLevel, SessionMode, IsInitiating und IsTerminating werden aus , und entfernt.
Alle Dienstvorgänge werden auf dem Clientproxy als asynchrone Vorgänge generiert.
Generierte Clientkonstruktoren, die nicht portable Typen verwenden, werden entfernt.
Eine CookieContainer-Instanz wird für den generierten Client verfügbar gemacht.
Am Anfang der Datei wird ein Kommentar eingefügt, der die Assembly und die Version des Code-Generators identifiziert:
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
Die ISerializable-Schnittstelle wird nicht unterstützt.
Net.Tcp- und PollingDuplex-Bindungen werden nicht unterstützt.
DataContractSerializer wird immer bei Fehlern verwendet.
IsWrapped wird in Projekten für portable Teilmengen nicht unterstützt.