Share via


IWsdlImportExtension.ImportContract Methode

Definition

Wird beim Importieren eines Vertrags aufgerufen.

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)

Parameter

importer
WsdlImporter

Das Importprogramm.

context
WsdlContractConversionContext

Der zu ändernde Importkontext.

Beispiele

Im folgenden Codebeispiel wird gezeigt, IWsdlImportExtension wie Sie eine und eine System.ServiceModel.Description.IServiceContractGenerationExtension System.ServiceModel.Description.IOperationContractGenerationExtension (in WsdlDocumentationImporterdiesem Fall) hinzufügen, um generierten WCF-Clientcode auf Der Schnittstelle und Vorgangsebene zu ändern.

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

Das folgende Codebeispiel zeigt, wie das Clientmetadaten-System für die Verwendung der benutzerdefinierten IWsdlImportExtension in einer Anwendungskonfigurationsdatei konfiguriert wird.

<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>

Hinweise

Die ImportContract-Methode wird aufgerufen, wenn ein Vertrag importiert wird. Sie können den Vertrag ändern oder andere Exportverhalten einfügen, wie ein System.ServiceModel.Description.IServiceContractGenerationExtension-Objekt und ein System.ServiceModel.Description.IOperationContractGenerationExtension-Objekt, um den für den Vertrag generierten Code zu ändern.

Gilt für