다음을 통해 공유


IOperationContractGenerationExtension.GenerateOperation 메서드

정의

계약 생성 프로세스에 앞서 코드 문서 개체 모델을 수정하려면 구현합니다.

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)

매개 변수

context
OperationContractGenerationContext

생성된 작업을 수정하는 데 필요한 System.CodeDom 형식을 포함하는 작업 컨텍스트입니다.

예제

다음 코드 예제에서는 GenerateOperation 네임스페이스를 사용하여 작업의 주석 섹션에 문자열을 추가하는 System.CodeDom 메서드를 구현하는 방법을 보여 줍니다.

다음 코드 예제에서는 IOperationContractGenerationExtension을 구현하는 작업 동작이 OperationDescription.Behaviors를 호출하는 동안 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));
              }
          }
      }
  }

마지막으로 다음 코드 예제에서는 Visual Basic과 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

설명

일반적으로 사용자 지정 System.ServiceModel.Description.IWsdlImportExtensionOperationDescription.Behaviors 또는 IWsdlImportExtension.ImportContract를 호출하는 중에 사용자 지정 작업 동작을 IWsdlImportExtension.ImportEndpoint 컬렉션에 삽입합니다.

GenerateOperation 메서드는 계약마다 한 번씩 호출됩니다.

적용 대상