OperationDescription OperationDescription OperationDescription OperationDescription Class

Définition

Représente la description d'une opération de contrat qui fournit une description des messages qui composent l'opération.Represents the description of a contract operation that provides a description of the messages that make up the operation.

public ref class OperationDescription
public class OperationDescription
type OperationDescription = class
Public Class OperationDescription
Héritage
OperationDescriptionOperationDescriptionOperationDescriptionOperationDescription

Exemples

L’exemple suivant utilise le OperationDescription retourné à partir de la collection retournée par la Operations propriété de la ContractDescription classe.The following example uses the OperationDescription returned from the collection returned by the Operations property of the ContractDescription class. Le code itère au sein de la collection de points de terminaison et imprime chaque nom de point de terminaison, ainsi que celui de chaque opération du point de terminaison.The code iterates through the collection of endpoints and prints each endpoint name, as well as the name of each operation in the endpoint.

private void PrintDescription(ServiceHost sh)
{
    // Declare variables.
    int i, j, k, l, c;
    ServiceDescription servDesc = sh.Description;
    OperationDescription opDesc;
    ContractDescription contractDesc;
    MessageDescription methDesc;
    MessageBodyDescription mBodyDesc;
    MessagePartDescription partDesc;
    IServiceBehavior servBeh;
    ServiceEndpoint servEP;

    // Print the behaviors of the service.
    Console.WriteLine("Behaviors:");
    for (c = 0; c < servDesc.Behaviors.Count; c++)
    {
        servBeh = servDesc.Behaviors[c];
        Console.WriteLine("\t{0}", servBeh.ToString());                
    }

    // Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints");
    for (i = 0; i < servDesc.Endpoints.Count; i++)
    {
        // Print the endpoint names.
        servEP = servDesc.Endpoints[i];
        Console.WriteLine("\tName: {0}", servEP.Name);
        contractDesc = servEP.Contract;

        Console.WriteLine("\tOperations:");
        for (j = 0; j < contractDesc.Operations.Count; j++)
        {
            // Print the operation names.
            opDesc = servEP.Contract.Operations[j];
            Console.WriteLine("\t\t{0}", opDesc.Name);
            Console.WriteLine("\t\tActions:");
            for (k  = 0; k < opDesc.Messages.Count; k++)
            {
                // Print the message action. 
                methDesc = opDesc.Messages[k];
                Console.WriteLine("\t\t\tAction:{0}", methDesc.Action);
               
                // Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body;
                if (mBodyDesc.Parts.Count > 0)
                {
                    for (l = 0; l < methDesc.Body.Parts.Count; l++)
                    {
                        partDesc = methDesc.Body.Parts[l];
                        Console.WriteLine("\t\t\t\t{0}",partDesc.Name);
                    }
                }
            }
        }
    }
}
Private Sub PrintDescription(ByVal sh As ServiceHost) 
    ' Declare variables.
    Dim i, j, k, l, c As Integer
    Dim servDesc As ServiceDescription = sh.Description
    Dim opDesc As OperationDescription
    Dim contractDesc As ContractDescription
    Dim methDesc As MessageDescription
    Dim mBodyDesc As MessageBodyDescription
    Dim partDesc As MessagePartDescription
    Dim servBeh As IServiceBehavior
    Dim servEP As ServiceEndpoint
    
    ' Print the behaviors of the service.
    Console.WriteLine("Behaviors:")
    For c = 0 To servDesc.Behaviors.Count-1
        servBeh = servDesc.Behaviors(c)
        Console.WriteLine(vbTab + "{0}", servBeh)
    Next c
    
    ' Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints")
    For i = 0 To servDesc.Endpoints.Count-1
        ' Print the endpoint names.
        servEP = servDesc.Endpoints(i)
        Console.WriteLine(vbTab + "Name: {0}", servEP.Name)
        contractDesc = servEP.Contract
        
        Console.WriteLine(vbTab + "Operations:")
        For j = 0 To contractDesc.Operations.Count-1
            ' Print operation names.
            opDesc = servEP.Contract.Operations(j)
            Console.WriteLine(vbTab + vbTab + "{0}", opDesc.Name)
            Console.WriteLine(vbTab + vbTab + "Actions:")
            For k = 0 To opDesc.Messages.Count-1
                ' Print the message action. 
                methDesc = opDesc.Messages(k)
                Console.WriteLine(vbTab + vbTab + vbTab + _
                  "Action:{0}", methDesc.Action)
                
                ' Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body
                If mBodyDesc.Parts.Count > 0 Then
                    For l = 0 To methDesc.Body.Parts.Count-1
                        partDesc = methDesc.Body.Parts(l)
                        Console.WriteLine(vbTab + vbTab + _
                        vbTab + vbTab + "{0}", partDesc.Name)
                    Next l
                End If
            Next k
        Next j
    Next i

End Sub     

Remarques

Un contrat Windows Communication Foundation (WCF) est un ensemble d’opérations qui spécifie ce que le point de terminaison communique au monde extérieur.A Windows Communication Foundation (WCF) contract is a collection of operations that specifies what the endpoint communicates to the outside world. Chaque opération est un échange de messages.Each operation is a message exchange. Par exemple, message de demande et message de réponse associé constituant un échange de messages de demande/réponse.For example, a request message and an associated reply message forming a request/reply message exchange.

Un objet ContractDescription permet de décrire des contrats et leurs opérations.A ContractDescription object is used to describe contracts and their operations. Dans une ContractDescription, chaque opération de contrat dispose d'une OperationDescription correspondante qui décrit des aspects de l'opération (par exemple, si l'opération est à sens unique ou de type demande/réponse).Within a ContractDescription, each contract operation has a corresponding OperationDescription that describes aspects of the operation, such as whether the operation is one-way or request/reply. Chaque OperationDescription décrit également les messages qui composent l’opération à l’aide d’une collection d’objets MessageDescription.Each OperationDescription also describes the messages that make up the operation using a collection of MessageDescription objects. La ContractDescription contient une référence à une interface qui définit le contrat à l'aide du modèle de programmation.ContractDescription contains a reference to an interface that defines the contract using the programming model. Cette interface est marquée avec ServiceContractAttribute et ses méthodes qui correspondent à des opérations de point de terminaison sont marquées avec OperationContractAttribute.This interface is marked with ServiceContractAttribute, and its methods that correspond to endpoint operations are marked with OperationContractAttribute.

Un grand nombre des propriétés de la OperationDescription possèdent des propriétés correspondantes dans le modèle de programmation WCF OperationContractAttribute, par exemple, IsTerminating.Many of the properties on OperationDescription have corresponding properties in the WCF programming model on OperationContractAttribute, for example, IsTerminating.

Constructeurs

OperationDescription(String, ContractDescription) OperationDescription(String, ContractDescription) OperationDescription(String, ContractDescription) OperationDescription(String, ContractDescription)

Initialise une nouvelle instance de la classe OperationDescription avec un nom et une description de contrat spécifiés.Initializes a new instance of the OperationDescription class with a specified name and contract description.

Propriétés

BeginMethod BeginMethod BeginMethod BeginMethod

Obtient ou définit la méthode Begin de l'opération.Gets or sets the begin method of the operation.

Behaviors Behaviors Behaviors Behaviors

Obtient ou définit les comportements d'opération associés à l'opération.Gets or sets the operation behaviors associated with the operation.

DeclaringContract DeclaringContract DeclaringContract DeclaringContract

Obtient ou définit le contrat auquel appartient l'opération.Gets or sets the contract to which the operation belongs.

EndMethod EndMethod EndMethod EndMethod

Obtient ou définit la méthode End de l'opération.Gets or sets the end method of the operation.

Faults Faults Faults Faults

Obtient les descriptions des erreurs associées à la description d'opération.Gets the descriptions of the faults associated with the operation description.

HasProtectionLevel HasProtectionLevel HasProtectionLevel HasProtectionLevel

Obtient une valeur qui indique si un niveau de protection a été défini pour l'opération.Gets a value that indicates whether the operation has had a protection level set.

IsInitiating IsInitiating IsInitiating IsInitiating

Obtient ou définit une valeur qui indique si la méthode implémente une opération qui peut initialiser une session sur le serveur (si une telle session existe).Gets or sets a value that indicates whether the method implements an operation that can initiate a session on the server (if such a session exists).

IsOneWay IsOneWay IsOneWay IsOneWay

Obtient ou définit une valeur qui indique si une opération retourne un message de réponse.Gets or sets a value that indicates whether an operation returns a reply message.

IsTerminating IsTerminating IsTerminating IsTerminating

Obtient ou définit une valeur qui indique si l'opération de service conduit le serveur à fermer la session après l'envoi du message de réponse (le cas échéant).Gets or sets a value that indicates whether the service operation causes the server to close the session after the reply message, if any, is sent.

KnownTypes KnownTypes KnownTypes KnownTypes

Obtient les types connus associés à la description d'opération.Gets the known types associated with the operation description.

Messages Messages Messages Messages

Obtient ou définit les descriptions des messages qui composent l'opération.Gets or sets the descriptions of the messages that make up the operation.

Name Name Name Name

Obtient ou définit le nom de la description d'opération.Gets or sets the name of the operation description.

OperationBehaviors OperationBehaviors OperationBehaviors OperationBehaviors

Obtient le jeu de comportements de l'opération.Gets the set of behaviors for the operation.

ProtectionLevel ProtectionLevel ProtectionLevel ProtectionLevel

Obtient ou définit le niveau de protection de l'opération.Gets or sets the protection level for the operation.

SyncMethod SyncMethod SyncMethod SyncMethod

Obtient ou définit la méthode de synchronisation de service de la description d'opération.Gets or sets the service synchronization method of the operation description.

TaskMethod TaskMethod TaskMethod TaskMethod

Obtient ou définit la méthode utilisée pour l'opération.Gets or sets the method used for the task operation.

Méthodes

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ShouldSerializeProtectionLevel() ShouldSerializeProtectionLevel() ShouldSerializeProtectionLevel() ShouldSerializeProtectionLevel()

Retourne une valeur qui indique si la propriété ProtectionLevel utilise une autre valeur que sa valeur par défaut et doit être sérialisée.Returns a value that indicates whether the ProtectionLevel property has changed from its default value and should be serialized.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à