Freigeben über


OperationContractGenerationContext Klasse

Definition

An die GenerateOperation(OperationContractGenerationContext)-Methode übergeben, um die Änderung eines Vorgangsvertrags und des Kontexts desselben vor der Generierung von Code zu ermöglichen.

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

Beispiele

Im folgenden Beispiel wird die Verwendung des OperationContractGenerationContext-Objekts dargestellt, das an die IOperationContractGenerationExtension.GenerateOperation-Methode übergeben wird, um aus benutzerdefinierten WSDL-Elementen extrahierte Codekommentare hinzuzufügen.

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

Im folgenden Codebeispiel sind die resultierenden Codecommentare dargestellt.

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

Hinweise

Verwenden Sie das OperationContractGenerationContext-Objekt, das an die IOperationContractGenerationExtension.GenerateOperation-Methode übergeben wird, um das Code Document Object Model vor der Codegenerierung zu ändern. In der Regel wird die System.ServiceModel.Description.IOperationContractGenerationExtension-Schnittstelle in einer benutzerdefinierten System.ServiceModel.Description.IWsdlImportExtension-Implementierung implementiert, die verwendet wird, um benutzerdefinierte WSDL-Elemente zu importieren oder andernfalls den Code auf Dienst- oder Vorgangsebene zu ändern. Informationen zur Änderung des Codes auf Dienstebene finden Sie unter System.ServiceModel.Description.IServiceContractGenerationExtension.

Konstruktoren

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

Initialisiert eine neue Instanz der OperationContractGenerationContext-Klasse mit dem angegebenen Vertragsgenerator und -kontext sowie der angegebenen Vorgangsbeschreibung, Codetypdeklaration, Synchronisierungsmethode und Aufgabenmethode.

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

Initialisiert eine neue Instanz der OperationContractGenerationContext-Klasse mit dem angegebenen Vertragsgenerator und -kontext sowie der angegebenen Vorgangsbeschreibung, Codetypdeklaration und Methode.

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

Initialisiert eine neue Instanz der OperationContractGenerationContext-Klasse.

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

Initialisiert eine neue Instanz der OperationContractGenerationContext-Klasse mit dem angegebenen Vertragsgenerator und -kontext sowie der angegebenen Vorgangsbeschreibung, Codetypdeklaration, Synchronisierungsmethode Anfangsmethode, Endemethode und Aufgabenmethode.

Eigenschaften

BeginMethod

Ruft den CodeMemberMethod für den asynchronen Anfangsvorgang ab.

Contract

Ruft den Codegenerierungskontext für den Dienstvertrag ab.

DeclaringType

Ruft den deklarierenden Typ für die aktuelle Operation ab.

EndMethod

Ruft die asynchrone Abschlussvorgangsdeklaration ab.

IsAsync

Ruft einen Wert ab, der angibt, ob asynchrone Methoden für den aktuellen Vorgang generiert werden.

IsTask

Ruft einen Wert ab, der angibt, ob eine Aufgabe für den aktuellen Vorgang generiert wird.

Operation

Ruft den OperationDescription für den aktuellen Vorgang ab.

ServiceContractGenerator

Ruft den ServiceContractGenerator ab, der den aktuellen Vorgang generiert.

SyncMethod

Ruft den CodeMemberMethod für den synchronen Vorgang ab.

TaskMethod

Ruft die CodeMemberMethod für den Aufgabevorgang ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: