ServiceContractGenerationContext Klasse

Definition

Wird an die GenerateContract(ServiceContractGenerationContext) Methode übergeben, um die Änderung eines Dienstvertrags und seines Kontexts vor dem Generieren von Code zu aktivieren.

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

Beispiele

Das folgende Beispiel zeigt die Verwendung des Objekts, das ServiceContractGenerationContext an die Methode übergeben wird, um Codekommentare hinzuzufügen, die IServiceContractGenerationExtension.GenerateContract aus benutzerdefinierten WSDL-Elementen extrahiert wurden.

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

Das folgende Codebeispiel zeigt die resultierenden Codekommentare.

/// 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 ServiceContractGenerationContext an die IServiceContractGenerationExtension.GenerateContract Methode übergebene Objekt, um das Codedokumentobjektmodell vor der Generierung von Code zu ändern. In der Regel wird die System.ServiceModel.Description.IServiceContractGenerationExtension Schnittstelle in einer benutzerdefinierten Implementierung implementiert, die verwendet wird, um benutzerdefinierte System.ServiceModel.Description.IWsdlImportExtension WSDL-Elemente zu importieren oder den Code auf Dienst- oder Vorgangsebene anderweitig zu ändern. Informationen zum Ändern des Codes auf Vorgangsebene finden Sie unter System.ServiceModel.Description.IOperationContractGenerationExtension.

Konstruktoren

Name Beschreibung
ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration, CodeTypeDeclaration)

Initialisiert eine neue Instanz der ServiceContractGenerationContext Klasse mithilfe des angegebenen Vertragsgenerators, der Vertragsbeschreibung und der Vertragscodetypdeklaration.

ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration)

Initialisiert eine neue Instanz der ServiceContractGenerationContext Klasse mithilfe des angegebenen Vertragsgenerators, der Vertragsbeschreibung und der Vertragscodetypdeklaration.

Eigenschaften

Name Beschreibung
Contract

Ruft den ContractDescription aktuellen Vertrag ab.

ContractType

Ruft den CodeTypeDeclaration aktuellen Vertrag ab.

DuplexCallbackType

Ruft den CodeTypeDeclaration Duplexrückrufvertrag für den Dienstvertrag ab.

Operations

Ruft eine Auflistung von OperationContractGenerationContext Objekten ab, die die Vertragsvorgänge darstellen.

ServiceContractGenerator

Ruft den ServiceContractGenerator Vertrag ab, der generiert werden soll.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Gilt für: