OperationContractGenerationContext Klasa

Definicja

Przekazano do GenerateOperation(OperationContractGenerationContext) metody , aby umożliwić modyfikowanie kontraktu operacji i jego kontekstu przed wygenerowaniem kodu.

public ref class OperationContractGenerationContext
public class OperationContractGenerationContext
type OperationContractGenerationContext = class
Public Class OperationContractGenerationContext
Dziedziczenie
OperationContractGenerationContext

Przykłady

W poniższym przykładzie pokazano użycie obiektu przekazanego OperationContractGenerationContext do IOperationContractGenerationExtension.GenerateOperation metody w celu dodania komentarzy kodu wyodrębnionych z niestandardowych elementów WSDL.

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

Poniższy przykład kodu przedstawia wynikowe komentarze kodu.

/// 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

Uwagi

Użyj obiektu przekazanego OperationContractGenerationContext IOperationContractGenerationExtension.GenerateOperation do metody , aby zmodyfikować model obiektu dokumentu kodu przed wygenerowaniem kodu. System.ServiceModel.Description.IOperationContractGenerationExtension Zazwyczaj interfejs jest implementowany w implementacji niestandardowejSystem.ServiceModel.Description.IWsdlImportExtension, która służy do importowania niestandardowych elementów WSDL lub modyfikowania kodu na poziomie usługi lub operacji. Aby zmodyfikować kod na poziomie usługi, zobacz System.ServiceModel.Description.IServiceContractGenerationExtension.

Konstruktory

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

Inicjuje OperationContractGenerationContext nowe wystąpienie klasy przy użyciu określonego generatora kontraktów, kontekstu kontraktu, opisu operacji, deklaracji typu kodu, metody synchronizacji i metody zadania.

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

Inicjuje OperationContractGenerationContext nowe wystąpienie klasy przy użyciu określonego generatora kontraktów, kontekstu kontraktu, opisu operacji, deklaracji typu kodu i metody.

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

Inicjuje nowe wystąpienie klasy OperationContractGenerationContext.

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

Inicjuje nowe wystąpienie klasy przy użyciu określonego OperationContractGenerationContext generatora kontraktów, kontekstu kontraktu, opisu operacji, deklaracji typu kodu, metody synchronizacji, metody begin, metody końcowej i metody zadania.

Właściwości

BeginMethod

Pobiera metodę CodeMemberMethod dla operacji rozpoczęcia asynchronicznego.

Contract

Pobiera kontekst generowania kodu dla kontraktu usługi.

DeclaringType

Pobiera typ deklarowania dla bieżącej operacji.

EndMethod

Pobiera asynchroniczną deklarację operacji zakończenia.

IsAsync

Pobiera wartość wskazującą, czy metody asynchroniczne są generowane dla bieżącej operacji.

IsTask

Pobiera wartość wskazującą, czy zadanie jest generowane dla bieżącej operacji.

Operation

Pobiera wartość OperationDescription dla bieżącej operacji.

ServiceContractGenerator

Pobiera element ServiceContractGenerator , który generuje bieżącą operację.

SyncMethod

Pobiera element CodeMemberMethod dla operacji synchronicznej.

TaskMethod

Pobiera element CodeMemberMethod dla operacji zadania.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy