IWsdlImportExtension.ImportContract Metodo

Definizione

Chiamato durante l'importazione di un contratto.

public:
 void ImportContract(System::ServiceModel::Description::WsdlImporter ^ importer, System::ServiceModel::Description::WsdlContractConversionContext ^ context);
public void ImportContract(System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlContractConversionContext context);
abstract member ImportContract : System.ServiceModel.Description.WsdlImporter * System.ServiceModel.Description.WsdlContractConversionContext -> unit
Public Sub ImportContract (importer As WsdlImporter, context As WsdlContractConversionContext)

Parametri

importer
WsdlImporter

Utilità di importazione.

context
WsdlContractConversionContext

Contesto di importazione da modificare.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di IWsdlImportExtension per aggiungere un System.ServiceModel.Description.IServiceContractGenerationExtension e un System.ServiceModel.Description.IOperationContractGenerationExtension oggetto ( WsdlDocumentationImporterin questo caso , in questo caso) per modificare il codice client WCF generato a livello di interfaccia e operazione.

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

Nell'esempio di codice seguente viene illustrato come configurare il sistema di metadati client per l'uso dell'oggetto personalizzato IWsdlImportExtension da un file di configurazione dell'applicazione.

<system.serviceModel>
    <client>
      <endpoint 
        address="http://localhost:8000/Fibonacci" 
        binding="wsHttpBinding"
        contract="IFibonacci"
      />
      <metadata>
        <wsdlImporters>
          <extension type="Microsoft.WCF.Documentation.WsdlDocumentationImporter, WsdlDocumentation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        </wsdlImporters>
      </metadata>
    </client>
  </system.serviceModel>

Commenti

Il ImportContract metodo viene chiamato quando viene importato un contratto. È possibile modificare il contratto o inserire altri comportamenti di esportazione, ad System.ServiceModel.Description.IServiceContractGenerationExtension esempio e oggetti System.ServiceModel.Description.IOperationContractGenerationExtension , per modificare il codice generato per il contratto.

Si applica a