OperationContractGenerationContext Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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) |