IOperationContractGenerationExtension 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
계약 생성 중에 호출되고, 작업에 대해 생성된 코드를 수정하는 데 사용할 수 있는 메서드를 정의합니다.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
예제
다음 코드 예제에서는 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
설명
작업 동작(IOperationContractGenerationExtension 형식)에 대해 System.ServiceModel.Description.IOperationBehavior 인터페이스를 구현하면 계약 또는 엔드포인트가 코드로 컴파일될 때 생성되는 코드를 수정할 수 있습니다. 일반적으로 사용자 지정 System.ServiceModel.Description.IWsdlImportExtension은 OperationDescription.Behaviors 또는 IWsdlImportExtension.ImportContract를 호출하는 중에 사용자 지정 작업 동작을 IWsdlImportExtension.ImportEndpoint 컬렉션에 삽입합니다.
메서드
GenerateOperation(OperationContractGenerationContext) |
계약 생성 프로세스에 앞서 코드 문서 개체 모델을 수정하려면 구현합니다. |