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

L'utilità di importazione.

context
WsdlContractConversionContext

Il contesto di importazione da modificare.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di per aggiungere un System.ServiceModel.Description.IServiceContractGenerationExtension oggetto e un System.ServiceModel.Description.IOperationContractGenerationExtension (in questo caso) per modificare il WsdlDocumentationImportercodice client WCF generato a livello di IWsdlImportExtension interfaccia e di 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 metadati client per utilizzare l'interfaccia IWsdlImportExtension personalizzata 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 metodo ImportContract viene chiamato durante l'importazione di un contratto. È possibile modificare il contratto o inserire gli altri comportamenti di esportazione, ad esempio gli oggetti System.ServiceModel.Description.IServiceContractGenerationExtension e System.ServiceModel.Description.IOperationContractGenerationExtension per modificare il codice generato per il contratto.

Si applica a