IOperationContractGenerationExtension Interfaz
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í.
Define los métodos llamados durante la generación de contratos que se pueden usar para modificar el código generado para una operación.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
Ejemplos
En el ejemplo de código siguiente se muestra la implementación del GenerateOperation método que agrega una cadena a la sección de comentarios de la operación mediante el System.CodeDom espacio de nombres .
En el ejemplo de código siguiente se muestra cómo se inserta el comportamiento de la operación que implementa IOperationContractGenerationExtension en la OperationDescription.Behaviors colección durante la llamada a IWsdlImportExtension.ImportContract.
public void ImportContract(WsdlImporter importer, WsdlContractConversionContext context)
{
Console.Write("ImportContract");
// Contract Documentation
if (context.WsdlPortType.Documentation != null)
{
context.Contract.Behaviors.Add(new WsdlDocumentationImporter(context.WsdlPortType.Documentation));
}
// Operation Documentation
foreach (Operation operation in context.WsdlPortType.Operations)
{
if (operation.Documentation != null)
{
OperationDescription operationDescription = context.Contract.Operations.Find(operation.Name);
if (operationDescription != null)
{
operationDescription.Behaviors.Add(new WsdlDocumentationImporter(operation.Documentation));
}
}
}
}
Por último, en el ejemplo de código siguiente se muestra la operación generada en Visual Basic y C#.
/// From WSDL Documentation:
///
/// <summary>The string for the Name data member.</summary>
///
[System.Runtime.Serialization.DataMemberAttribute()]
public string Name
{
get
{
return this.NameField;
}
set
{
this.NameField = value;
}
}
'''From WSDL Documentation:
'''
'''<summary>The string for the Name data member.</summary>
'''
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property Name() As String
Get
Return Me.NameField
End Get
Set
Me.NameField = value
End Set
End Property
Comentarios
Implemente la IOperationContractGenerationExtension interfaz en un comportamiento de operación (un System.ServiceModel.Description.IOperationBehavior tipo) para permitirle modificar el código generado cuando se compila un contrato o un punto de conexión en código. Normalmente, un personalizado System.ServiceModel.Description.IWsdlImportExtension inserta un comportamiento de operación personalizada en la OperationDescription.Behaviors colección durante la llamada a IWsdlImportExtension.ImportContract o IWsdlImportExtension.ImportEndpoint.
Métodos
| Nombre | Description |
|---|---|
| GenerateOperation(OperationContractGenerationContext) |
Implemente para modificar el modelo de objetos de documento de código antes del proceso de generación de contratos. |