Share via


OperationContractGenerationContext Classe

Definizione

Classe passata al metodo GenerateOperation(OperationContractGenerationContext) per abilitare la possibilità di modificare un contratto dell'operazione e il relativo contesto prima della generazione del codice.

public ref class OperationContractGenerationContext
public class OperationContractGenerationContext
type OperationContractGenerationContext = class
Public Class OperationContractGenerationContext
Ereditarietà
OperationContractGenerationContext

Esempio

Nell'esempio seguente viene illustrato l'utilizzo dell'oggetto OperationContractGenerationContext passato al metodo IOperationContractGenerationExtension.GenerateOperation per aggiungere commenti del codice estratti dagli elementi WSDL personalizzati.

public void GenerateOperation(OperationContractGenerationContext context)
{
  context.SyncMethod.Comments.AddRange(Formatter.FormatComments(commentText));
  Console.WriteLine("In generate operation.");
}

Nel codice seguente vengono illustrati i commenti del codice risultanti.

/// From WSDL Documentation:
///
/// <summary>This contract is a stateless contract that provides a mechanism for
/// computing the nth Fibonacci term.</summary>
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://microsoft.wcf.documentation", ConfigurationName="IFibonacci")]
public interface IFibonacci
{

    /// From WSDL Documentation:
    ///
    /// <summary>The Compute operation returns the nth Fibonacci number.  Because it
    /// uses dual recursion it's very inefficient and therefore useful to demonstrate
    /// caching.</summary><returns>The nth Fibonacci number.</returns><param
    /// name="num">The value to use when computing the Fibonacci number.</param>
    ///
    [System.ServiceModel.OperationContractAttribute(Action="http://microsoft.wcf.documentation/IFibonacci/Compute", ReplyAction="http://microsoft.wcf.documentation/IFibonacci/ComputeResponse")]
    int Compute(int num);

    /// From WSDL Documentation:
    ///
    /// <summary>The GetPerson operation tests custom WSDL documentation
    /// generation.</summary><returns>The Person object to be returned.</returns><param
    /// name="FirstParameter">The value for the first parameter.</param><param
    /// name="SecondParameter">The value for the second parameter.</param>
    ///
    [System.ServiceModel.OperationContractAttribute(Action="http://microsoft.wcf.documentation/IFibonacci/GetPerson", ReplyAction="http://microsoft.wcf.documentation/IFibonacci/GetPersonResponse")]
    Microsoft.WCF.Documentation.Person GetPerson(int FirstParameter, int SecondParameter);
}

'''From WSDL Documentation:
'''
'''<summary>This contract is a stateless contract that provides a mechanism for 
'''computing the nth Fibonacci term.</summary> 
'''
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0"),  _
 System.ServiceModel.ServiceContractAttribute([Namespace]:="http://microsoft.wcf.documentation", ConfigurationName:="IFibonacci")>  _
Public Interface IFibonacci
    
    '''From WSDL Documentation:
    '''
    '''<summary>The Compute operation returns the nth Fibonacci number.  Because it 
    '''uses dual recursion it's very inefficient and therefore useful to demonstrate 
    '''caching.</summary><returns>The nth Fibonacci number.</returns><param 
    '''name="num">The value to use when computing the Fibonacci number.</param> 
    '''
    <System.ServiceModel.OperationContractAttribute(Action:="http://microsoft.wcf.documentation/IFibonacci/Compute", ReplyAction:="http://microsoft.wcf.documentation/IFibonacci/ComputeResponse")>  _
    Function Compute(ByVal num As Integer) As Integer
    
    '''From WSDL Documentation:
    '''
    '''<summary>The GetPerson operation tests custom WSDL documentation 
    '''generation.</summary><returns>The Person object to be returned.</returns><param 
    '''name="FirstParameter">The value for the first parameter.</param><param 
    '''name="SecondParameter">The value for the second parameter.</param> 
    '''
    <System.ServiceModel.OperationContractAttribute(Action:="http://microsoft.wcf.documentation/IFibonacci/GetPerson", ReplyAction:="http://microsoft.wcf.documentation/IFibonacci/GetPersonResponse")>  _
    Function GetPerson(ByVal FirstParameter As Integer, ByVal SecondParameter As Integer) As Microsoft.WCF.Documentation.Person
End Interface

Commenti

Utilizzare l'oggetto OperationContractGenerationContext passato al metodo IOperationContractGenerationExtension.GenerateOperation per modificare l'oggetto CodeDOM (Code Document Object Model) prima della generazione del codice. In genere, l'interfaccia System.ServiceModel.Description.IOperationContractGenerationExtension viene implementata su un'implementazione System.ServiceModel.Description.IWsdlImportExtension personalizzata utilizzata per importare elementi WSDL personalizzati oppure per modificare il codice a livello di servizio o di operazione. Per modificare il codice a livello di servizio, vedere System.ServiceModel.Description.IServiceContractGenerationExtension.

Costruttori

OperationContractGenerationContext(ServiceContractGenerator, ServiceContractGenerationContext, OperationDescription, CodeTypeDeclaration, CodeMemberMethod)

Inizializza una nuova istanza della classe OperationContractGenerationContext utilizzando il generatore del contratto, il contesto del contratto, la descrizione dell'operazione, la dichiarazione del tipo di codice, il metodo di sincronizzazione e il metodo Task specificati.

OperationContractGenerationContext(ServiceContractGenerator, ServiceContractGenerationContext, OperationDescription, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod)

Inizializza una nuova istanza della classe OperationContractGenerationContext utilizzando il generatore del contratto, il contesto del contratto, la descrizione dell'operazione, la dichiarazione del tipo di codice e il metodo specificati.

OperationContractGenerationContext(ServiceContractGenerator, ServiceContractGenerationContext, OperationDescription, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, CodeMemberMethod)

Inizializza una nuova istanza della classe OperationContractGenerationContext.

OperationContractGenerationContext(ServiceContractGenerator, ServiceContractGenerationContext, OperationDescription, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, CodeMemberMethod, CodeMemberMethod)

Inizializza una nuova istanza della classe OperationContractGenerationContext utilizzando il generatore del contratto, il contesto del contratto, la descrizione dell'operazione, la dichiarazione del tipo di codice, il metodo Begin, il metodo End e il metodo Task specificati.

Proprietà

BeginMethod

Ottiene la classe CodeMemberMethod per l'operazione iniziale asincrona.

Contract

Ottiene il contesto della generazione del codice per il contratto di servizio.

DeclaringType

Ottiene il tipo dichiarante per l'operazione corrente.

EndMethod

Ottiene la dichiarazione dell'operazione finale asincrona.

IsAsync

Ottiene un valore che indica se i metodi asincroni vengono generati per l'operazione corrente.

IsTask

Ottiene un valore che indica se un'attività viene generata per l'operazione corrente.

Operation

Ottiene la classe OperationDescription dell'operazione corrente.

ServiceContractGenerator

Ottiene una classe ServiceContractGenerator che genera l'operazione corrente.

SyncMethod

Ottiene la classe CodeMemberMethod dell'operazione sincrona.

TaskMethod

Ottiene CodeMemberMethod per l'operazione dell'attività.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a