Teilen über


Hinzufügen eines Dienstverweises in einem tragbaren Teilmengeprojekt

Portable Teilmengenprojekte ermöglichen .NET-Assemblyprogrammierern die Verwaltung einer einzelnen Quellstruktur und eines Buildsystems, während weiterhin mehrere .NET-Implementierungen (Desktop, Silverlight, Windows Phone und Xbox) unterstützt werden. Portable Subset-Projekte verweisen nur auf portable Bibliotheken, die .NET-Assemblys sind, die für jede .NET-Implementierung verwendet werden können.

Hinzufügen von Dienstreferenzdetails

Beim Hinzufügen eines Dienstverweises in einem tragbaren Teilmengeprojekt werden die folgenden Einschränkungen erzwungen:

  • Für XmlSerializer, sind nur Literalcodierungen 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 tragbaren Bibliotheken nicht unterstützt werden (alle Bindungen außer BasicHttpBinding, WSHttpBinding ohne Transaktionsfluss, zuverlässige Sitzungen oder MTOM-Codierung sowie entsprechende benutzerdefinierte Bindungen) werden ignoriert.

  • Nachrichtenkopfzeilen werden vor dem Import aus allen Nachrichtenbeschreibungen in allen Vorgängen gelöscht.

  • Nicht portable Attribute DesignerCategoryAttribute, SerializableAttributeund TransactionFlowAttribute werden aus generierten Clientproxycode entfernt.

  • Nicht portable Eigenschaften wie ProtectionLevel, SessionMode, IsInitiating, IsTerminating werden aus ServiceContractAttribute, OperationContractAttribute und FaultContractAttribute entfernt.

  • Alle Dienstvorgänge werden als asynchrone Vorgänge auf dem Clientproxy generiert.

  • Generierte Clientkonstruktoren, die nicht portable Typen verwenden, werden entfernt.

  • Eine CookieContainer Instanz wird auf dem generierten Client verfügbar gemacht.

  • Oben in der Datei wird ein Kommentar eingefügt, der die Assembly und Version des Codegenerators 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.

  • Das DataContractSerializer wird immer für Fehler verwendet.

  • IsWrapped wird in portablen Teilmengenprojekten nicht unterstützt.

Siehe auch