IOperationContractGenerationExtension.GenerateOperation Yöntem

Tanım

Sözleşme oluşturma işleminden önce kod belgesi nesne modelini değiştirmek için uygulayın.

public:
 void GenerateOperation(System::ServiceModel::Description::OperationContractGenerationContext ^ context);
public void GenerateOperation (System.ServiceModel.Description.OperationContractGenerationContext context);
abstract member GenerateOperation : System.ServiceModel.Description.OperationContractGenerationContext -> unit
Public Sub GenerateOperation (context As OperationContractGenerationContext)

Parametreler

context
OperationContractGenerationContext

Oluşturulan işlemi değiştirmek için gereken türleri içeren System.CodeDom çalışma bağlamı.

Örnekler

Aşağıdaki kod örneği, ad alanını kullanarak işlemin açıklamalar bölümüne bir dize ekleyen yönteminin System.CodeDom uygulamasını GenerateOperation gösterir.

Aşağıdaki kod örneği, uygulayan IOperationContractGenerationExtension işlem davranışının çağrısı IWsdlImportExtension.ImportContractsırasında koleksiyona OperationDescription.Behaviors nasıl eklendiğini gösterir.

  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));
              }
          }
      }
  }

Son olarak, aşağıdaki kod örneği hem Visual Basic hem de C# dilinde oluşturulan işlemi gösterir.

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

Açıklamalar

Genellikle, özel System.ServiceModel.Description.IWsdlImportExtension bir özel işlem davranışını OperationDescription.Behaviors veya IWsdlImportExtension.ImportEndpointçağrısı sırasında koleksiyona IWsdlImportExtension.ImportContract ekler.

yöntemi GenerateOperation her sözleşme için bir kez çağrılır.

Şunlara uygulanır