IOperationContractGenerationExtension 인터페이스

정의

작업에 대해 생성된 코드를 수정하는 데 사용할 수 있는 계약 생성 중에 호출되는 메서드를 정의합니다.

public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension

예제

다음 코드 예제에서는 네임스페이스를 사용하여 작업의 주석 섹션에 문자열을 추가하는 메서드의 구현 GenerateOperationSystem.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

설명

IOperationContractGenerationExtension 계약 또는 엔드포인트가 코드로 System.ServiceModel.Description.IOperationBehavior 컴파일될 때 생성된 코드를 수정할 수 있도록 작업 동작(형식)에 인터페이스를 구현합니다. 일반적으로 사용자 지정 System.ServiceModel.Description.IWsdlImportExtension 은 호출하는 동안 컬렉션에 OperationDescription.Behaviors 사용자 지정 작업 동작을 IWsdlImportExtension.ImportContract 삽입합니다 IWsdlImportExtension.ImportEndpoint.

메서드

Name Description
GenerateOperation(OperationContractGenerationContext)

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

적용 대상