IWsdlImportExtension Arabirim

Tanım

İçeri aktarıcının Web Hizmetleri Açıklama Dili (WSDL) bölümlerini bir WsdlImporter nesnenin bölümleriyle nasıl eşleyişini denetlemek için bir ServiceDescription nesne uygulayın ve nesneye ekleyin.

public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
Türetilmiş

Örnekler

Aşağıdaki kod örneği, arabirim ve System.ServiceModel.Description.IOperationContractGenerationExtension işlem düzeyinde oluşturulan WCF istemci kodunu değiştirmek için ve System.ServiceModel.Description.IServiceContractGenerationExtension (WsdlDocumentationImporterbu örnekte ) eklemek için kullanımını IWsdlImportExtension 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 örneğinde, istemci meta veri sisteminin bir uygulama yapılandırma dosyasından özel IWsdlImportExtension kullanılacak şekilde nasıl yapılandırılır gösterilmektedir.

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

Açıklamalar

IWsdlImportExtension Özellikle sözleşme veya uç nokta bilgilerinizi değiştirmek için özel WSDL uzantılarını okurken WSDL ile ServiceEndpoint ContractDescription nesneler arasındaki eşlemeyi denetlemek için arabirimini uygulayın. Ardından özel IWsdlImportExtension nesnenizi WsdlImporter program aracılığıyla veya bir uygulama yapılandırma dosyası kullanarak ekleyin. Özel nesnenizi IWsdlImportExtension bir uygulama yapılandırma dosyası kullanarak ServiceModel Meta Veri Yardımcı Programı Aracı (Svcutil.exe) tarafından kullanılan iç WsdlImporter nesneye de ekleyebilirsiniz.

Bir ImportContract sözleşmeyi içeri aktarmak için yöntemi çağrılır.

BeforeImport daha sonra ve ContractDescription nesnelerine ServiceEndpoint içeri aktarılan meta verileri değiştirmek için yöntemini kullanın.

Yöntemler

BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>)

Meta veri belgelerini içeri aktarmadan önce çağrılır.

ImportContract(WsdlImporter, WsdlContractConversionContext)

Sözleşme içeri aktarılırken çağrılır.

ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext)

Uç nokta içeri aktarılırken çağrılır.

Şunlara uygulanır