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.

Siehe auch