Condividi tramite


ServiceContractGenerationContext Classe

Definizione

Classe passata al metodo GenerateContract(ServiceContractGenerationContext) per abilitare la possibilità di modificare un contratto di servizio e il relativo contesto prima della generazione del codice.

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

Esempio

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

public void GenerateContract(ServiceContractGenerationContext context)
{
  Console.WriteLine("In generate contract.");
  context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}

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 ServiceContractGenerationContext passato al metodo IServiceContractGenerationExtension.GenerateContract per modificare l'oggetto CodeDOM (Code Document Object Model) prima della generazione del codice. In genere, l'interfaccia System.ServiceModel.Description.IServiceContractGenerationExtension 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 operazione, vedere System.ServiceModel.Description.IOperationContractGenerationExtension.

Costruttori

ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration, CodeTypeDeclaration)

Inizializza una nuova istanza della classe ServiceContractGenerationContext utilizzando il generatore del contratto, il contesto del contratto e la dichiarazione del tipo di codice.

ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration)

Inizializza una nuova istanza della classe ServiceContractGenerationContext utilizzando il generatore del contratto, il contesto del contratto e la dichiarazione del tipo di codice.

Proprietà

Contract

Ottiene la classe ContractDescription per il contratto corrente.

ContractType

Ottiene la classe CodeTypeDeclaration per il contratto corrente.

DuplexCallbackType

Ottiene la classe CodeTypeDeclaration per il contratto di callback duplex sul contratto di servizio.

Operations

Ottiene una raccolta di oggetti OperationContractGenerationContext che rappresentano le operazioni del contratto.

ServiceContractGenerator

Ottiene la classe ServiceContractGenerator da cui generare il contratto.

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