Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Classe OperationDescription

Rappresenta la descrizione di un'operazione del contratto che fornisce una descrizione dei messaggi che costituiscono l'operazione.

System.Object
  System.ServiceModel.Description.OperationDescription

Spazio dei nomi:  System.ServiceModel.Description
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public class OperationDescription

Il tipo OperationDescription espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoms599530.PortableClassLibrary(it-it,VS.100).gifOperationDescriptionInizializza una nuova istanza della classe OperationDescription con un nome e una descrizione del contratto specificati.
In alto

  NomeDescrizione
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifBeginMethodOttiene o imposta il metodo Begin dell'operazione.
Proprietà pubblicaBehaviorsOttiene o imposta i comportamenti dell'operazione associati all'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifDeclaringContractOttiene o imposta il contratto al quale appartiene l'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifEndMethodOttiene o imposta il metodo End dell'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifFaultsOttiene le descrizioni degli errori associati alla descrizione dell'operazione.
Proprietà pubblicaHasProtectionLevelOttiene un valore che indica se è stato impostato un livello di protezione per l'operazione.
Proprietà pubblicaIsInitiatingOttiene o imposta un valore che indica se il metodo implementa un'operazione in grado di avviare una sessione nel server (se tale sessione esiste).
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifIsOneWayOttiene o imposta un valore che indica se l'operazione restituisce un messaggio di risposta.
Proprietà pubblicaIsTerminatingOttiene o imposta un valore che indica se l'operazione di servizio causa la chiusura della sessione da parte del server dopo l'invio di un eventuale messaggio di risposta.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifKnownTypesOttiene i tipi conosciuti associati alla descrizione dell'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifMessagesOttiene o imposta le descrizioni dei messaggi che costituiscono l'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifNameOttiene o imposta il nome della descrizione della proprietà.
Proprietà pubblicaProtectionLevelOttiene o imposta il livello di protezione per l'operazione.
Proprietà pubblicams599530.PortableClassLibrary(it-it,VS.100).gifSyncMethodOttiene o imposta il metodo di sincronizzazione del servizio della descrizione della proprietà.
In alto

  NomeDescrizione
Metodo pubblicoms599530.PortableClassLibrary(it-it,VS.100).gifEquals(Object)Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protettoms599530.PortableClassLibrary(it-it,VS.100).gifFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoms599530.PortableClassLibrary(it-it,VS.100).gifGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoms599530.PortableClassLibrary(it-it,VS.100).gifGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoms599530.PortableClassLibrary(it-it,VS.100).gifMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoShouldSerializeProtectionLevelRestituisce un valore che indica se la proprietà ProtectionLevel è stata modificata rispetto al valore predefinito e deve essere serializzata.
Metodo pubblicoms599530.PortableClassLibrary(it-it,VS.100).gifToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

Un contratto è una raccolta di operazioni che specifica ciò che l'endpoint comunica al mondo esterno.Ogni operazione consiste in uno scambio di messaggi.Ad esempio, un messaggio di richiesta e un messaggio di risposta associato costituiscono un scambio di messaggi di tipo request/reply.

Un oggetto ContractDescription viene utilizzato per descrivere i contratti e le relative operazioni.All'interno di un elemento ContractDescription, ogni operazione del contratto dispone di una classe OperationDescription corrispondente che descrive gli aspetti dell'operazione, ad esempio se si tratta di un'operazione unidirezionale o di tipo request/reply.Ogni classe OperationDescription descrive a sua volta i messaggi che costituiscono l'operazione, utilizzando una raccolta di oggetti MessageDescription. ContractDescription contiene un riferimento a un'interfaccia che definisce il contratto utilizzando il modello di programmazione.Questa interfaccia è contrassegnata con ServiceContractAttribute e i metodi che corrispondono alle operazioni dell'endpoint sono contrassegnati con OperationContractAttribute.

A molte delle proprietà di OperationDescription corrispondono proprietà nel modello di programmazione in OperationContractAttribute, ad esempio, IsTerminating.

Nell'esempio seguente viene utilizzata la classe OperationDescription restituita dalla raccolta restituita a sua volta dalla proprietà Operations della classe ContractDescription.Il codice scorre la raccolta di endpoint e stampa ogni nome di endpoint nonché il nome di ogni operazione nell'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);
                    }
                }
            }
        }
    }
}


.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Supportato in:

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft