OperationContractGenerationContext Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se pasa al método GenerateOperation(OperationContractGenerationContext) para habilitar la modificación de un contrato de operación y su contexto antes de generar el código.
public ref class OperationContractGenerationContext
public class OperationContractGenerationContext
type OperationContractGenerationContext = class
Public Class OperationContractGenerationContext
- Herencia
-
OperationContractGenerationContext
Ejemplos
El ejemplo siguiente muestra el uso del objeto OperationContractGenerationContext pasado al método IOperationContractGenerationExtension.GenerateOperation para agregar comentarios de código extraídos de los elementos WSDL personalizados.
public void GenerateOperation(OperationContractGenerationContext context)
{
context.SyncMethod.Comments.AddRange(Formatter.FormatComments(commentText));
Console.WriteLine("In generate operation.");
}
El ejemplo de código siguiente muestra los comentarios de código resultantes.
/// 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
Comentarios
Utilice el objeto OperationContractGenerationContext pasado al método IOperationContractGenerationExtension.GenerateOperation para modificar el Code Document Object Model antes de la generación de código. Normalmente, la interfaz System.ServiceModel.Description.IOperationContractGenerationExtension se implementa en una implementación System.ServiceModel.Description.IWsdlImportExtension personalizada utilizada para importar los elementos WSDL personalizados o, de lo contrario, modificar el código en el nivel de servicio o de operación. Para modificar el código en el nivel del servicio, vea System.ServiceModel.Description.IServiceContractGenerationExtension.
Constructores
Propiedades
BeginMethod |
Obtiene el objeto CodeMemberMethod para la operación de inicio asincrónica. |
Contract |
Obtiene el contexto de la generación de código para el contrato del servicio. |
DeclaringType |
Obtiene el tipo de declaración para la operación actual. |
EndMethod |
Obtiene la declaración de operación de finalización asincrónica. |
IsAsync |
Obtiene un valor que indica si la operación actual genera los métodos asincrónicos. |
IsTask |
Obtiene un valor que indica si una tarea se genera para la operación actual. |
Operation |
Obtiene el OperationDescription para la operación en curso. |
ServiceContractGenerator |
Obtiene ServiceContractGenerator que genera la operación actual. |
SyncMethod |
Obtiene CodeMemberMethod para la operación sincrónica. |
TaskMethod |
Obtiene el CodeMemberMethod para la operación de la tarea. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |