ServiceModel-Attribute und ServiceDescription-Referenz

Die Beschreibungsstruktur ist die Hierarchie der Typen (angefangen bei der Klasse System.ServiceModel.Description.ServiceDescription), die zusammen jeden Aspekt eines Diensts beschreiben.Windows Communication Foundation (WCF) verwendet eine Beschreibungsstruktur zur Erstellung einer gültigen Dienstlaufzeit, um Web Services Description Language (WSDL), XML Schema-Definitionssprache (XSD) und Policy-Aussagen (Metadaten) über den Dienst zu veröffentlichen, die Clients verwenden können, um sich mit dem Dienst zu verbinden und ihn zu nutzen, und um verschiedene Code- und Konfigurationsdateirepräsentationen der Beschreibungsstrukturwerte zu generieren.

Dieses Thema beschreibt, wie vertragsbezogene Eigenschaften aus dem Dienstvertrag abgerufen, wie sie implementiert und der Beschreibungsstruktur hinzugefügt werden.In einigen Fällen werden Attributwerte in Verhaltenseigenschaften umgewandelt, und das Verhalten wird dann in die Beschreibungsstruktur eingefügt.Weitere Informationen finden Sie unter zur Konvertierung der Beschreibungsstrukturwerte in Metadaten finden Sie unter ServiceDescription und WSDL-Verweis.

Zuordnen von Vorgängen zur Beschreibungsstruktur

In WCF-Anwendungen werden Dienstverträge nach Schnittstellen (oder Klassen) erstellt, die Attribute verwenden, um die Schnittstelle oder Klasse und ihre Methoden als eine Vorgangsgruppierung zu markieren.Wenn eine ServiceHost-Klasse geöffnet ist, werden Dienstverträge und Implementierungen immer wieder reflektiert und mit den Konfigurationsinformationen in eine Beschreibungsstruktur zusammengeführt.

Es gibt zwei Typen von Vorgangsmodellen: das Parametermodell und das Nachrichtenvertragsmodell.Das Parametermodell verwendet verwaltete Methoden, die keinen Parameter oder Rückgabewerttyp besitzen, der von der Klasse System.ServiceModel.MessageContractAttribute markiert wird.In diesem Modell kontrollieren die Entwickler die Serialisierung der Parameter und Rückgabewerte, aber WCF generiert die Werte, die verwendet werden, um die Beschreibungsstruktur für den Dienst und seinen Vertrag zu füllen.

In Konfigurationsdateien angegebene Bindungen werden direkt in die Eigenschaft ServiceEndpoint.Binding geladen.

ServiceBehaviorAttribute-Eigenschaft Beschreibungsstrukturwert beeinflusst
Name Name
Namespace Namespace
ConfigurationName ConfigurationName
IgnoreExtensionDataObject Legt die Eigenschaft IgnoreExtensionDataObject für alle Vorgänge fest.
MaxItemsInObjectGraph Legt die Eigenschaft MaxItemsInObjectGraph für alle Vorgänge fest.
ServiceContractAttribute-Eigenschaft Beschreibungsstrukturwert beeinflusst
CallbackContract CallbackContractType, MessageDescription hat allen Operationen Messages hinzugefügt.
ConfigurationName ConfigurationName
ProtectionLevel ProtectionLevel und möglicherweise untergeordnete Schutzebenen.Weitere Informationen finden Sie unter zur Schutzebenenhierarchie finden Sie unter Grundlagen der Schutzebene.
SessionMode SessionMode
ServiceKnownTypesAttribute-Wert Beschreibungsstrukturwert beeinflusst
MethodName KnownTypes
OperationContractAttribute-Wert Beschreibungsstrukturwert beeinflusst
Aktion Action für die Ausgabe- oder Eingabenachricht, abhängig vom Vertrag\/Rückrufvertrag.
AsyncPattern Wenn "true", BeginMethod und EndMethod
IsOneWay Wird einer einzelnen MessageDescription in Messages zugeordnet
IsInitiating IsInitiating
IsTerminating IsTerminating
Name Name
ProtectionLevel ProtectionLevel und möglicherweise untergeordnete Schutzebenen.Weitere Informationen finden Sie unter zur Schutzebenenhierarchie finden Sie unter Grundlagen der Schutzebene.
ReplyAction Action für die Ausgabe- oder Eingabenachricht, abhängig vom Vertrag\/Rückrufvertrag.
FaultContractAttribute-Wert Beschreibungsstrukturwert beeinflusst
Action Action, abhängig vom Vertrag\/Rückrufvertrag.
DetailType DetailType
Name Name
Namespace Namespace
ProtectionLevel ProtectionLevel
DataContractFormatAttribute-Wert Beschreibungsstrukturwert beeinflusst
Verwendung Der Wert Style ist auf DataContractSerializerOperationBehavior für den Vorgang festgelegt.
XmlSerializerFormatAttribute-Wert Beschreibungsstrukturwert beeinflusst
Style Diese XmlSerializerFormatAttribute-Eigenschaft ist auf XmlSerializerOperationBehavior für den Vorgang festgelegt.
Use XmlSerializerFormatAttribute ist auf XmlSerializerOperationBehavior für den Vorgang festgelegt.
TransactionFlowAttribute-Wert Beschreibungsstrukturwert beeinflusst
TransactionFlowOption TransactionFlowAttribute wird der Eigenschaft Behaviors als Vorgangsverhalten hinzugefügt.
MessageContractAttribute-Wert Beschreibungsstrukturwert beeinflusst
ProtectionLevel ProtectionLevel
WrapperName WrapperName
WrapperNamespace WrapperNamespace
MessageHeaderAttribute-Wert Beschreibungsstrukturwert beeinflusst
Akteur Actor für den entsprechenden Header in Headers
MustUnderstand MustUnderstand für den entsprechenden Header in Headers
Name Name für den entsprechenden Header in Headers
Namespace Namespace für den entsprechenden Header in Headers
ProtectionLevel ProtectionLevel für den entsprechenden Header in Headers
Relay Relay für den entsprechenden Header in Headers
MessageBodyMemberAttribute-Wert Beschreibungsstrukturwert beeinflusst
Name Name für den entsprechenden Teil in Parts
Namespace Namespace für den entsprechenden Teil in Parts
Reihenfolge Index für den entsprechenden Teil in Parts
ProtectionLevel ProtectionLevel für den entsprechenden Teil in Parts
MessageHeaderArrayAttribute-Wert Beschreibungsstrukturwert beeinflusst
Akteur Actor
MustUnderstand MustUnderstand
Name Name
Namespace Namespace
ProtectionLevel ProtectionLevel
Relay Relay
MessagePropertyAttribute-Wert Beschreibungsstrukturwert beeinflusst
Name Name
MessageParameterAttribute-Wert Beschreibungsstrukturwert beeinflusst
Name <xref:System.ServiceModel.Description.MessagePartDescription.name%2A> für den entsprechenden Teil in Parts

Weitere Informationen finden Sie unter zur Konvertierung der Beschreibungsstrukturwerte in Metadaten finden Sie unter ServiceDescription und WSDL-Verweis.

Siehe auch

ServiceDescription und WSDL-Verweis