IServiceContractGenerationExtension.GenerateContract 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 GenerateContract(System::ServiceModel::Description::ServiceContractGenerationContext ^ context);
public void GenerateContract (System.ServiceModel.Description.ServiceContractGenerationContext context);
abstract member GenerateContract : System.ServiceModel.Description.ServiceContractGenerationContext -> unit
Public Sub GenerateContract (context As ServiceContractGenerationContext)

Parametreler

context
ServiceContractGenerationContext

Kod oluşturmadan önce kod belgesini değiştirmek için kullanılacak bağlam oluşturuldu.

Örnekler

Aşağıdaki kod örneği çağrısı sırasında ImportContractözelliğine ContractDescription.Behaviors nasıl bir IServiceContractGenerationExtension ekleneceğ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));
              }
          }
      }
  }

Aşağıdaki kod örnekleri, bir hizmet sözleşmesi için oluşturulan koda açıklama ekleyen uygulamasını GenerateContract gösterir.

public void GenerateContract(ServiceContractGenerationContext context)
{
  Console.WriteLine("In generate contract.");
  context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}

Aşağıdaki kod örneği, hizmet sözleşmesiyle ilgili oluşturulan açıklamaları 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

Sözleşmeyi System.ServiceModel.Description.ServiceContractGenerationContext , işlemleri veya kod oluşturmadan öncekini System.ServiceModel.Description.ServiceContractGenerator değiştirmek için öğesini kullanın.

Şunlara uygulanır