WsdlImporter 构造函数

定义

初始化 WsdlImporter 类的新实例。

重载

WsdlImporter(MetadataSet)

初始化 WsdlImporter 类的新实例。

WsdlImporter(MetadataSet, IEnumerable<IPolicyImportExtension>, IEnumerable<IWsdlImportExtension>)

从指定的元数据、自定义策略导入程序和自定义 WSDL 导入程序创建一个 WsdlImporter 对象。

WsdlImporter(MetadataSet, IEnumerable<IPolicyImportExtension>, IEnumerable<IWsdlImportExtension>, MetadataImporterQuotas)

从指定的元数据、自定义策略导入程序和自定义 WSDL 导入程序创建一个 WsdlImporter 对象。

WsdlImporter(MetadataSet)

初始化 WsdlImporter 类的新实例。

public:
 WsdlImporter(System::ServiceModel::Description::MetadataSet ^ metadata);
public WsdlImporter (System.ServiceModel.Description.MetadataSet metadata);
new System.ServiceModel.Description.WsdlImporter : System.ServiceModel.Description.MetadataSet -> System.ServiceModel.Description.WsdlImporter
Public Sub New (metadata As MetadataSet)

参数

metadata
MetadataSet

元数据文档的集合,可从该集合中提取协定、终结点和绑定信息。

示例

下面的代码示例演示将 WsdlImporter 类与 MetadataResolver 类结合使用的最常见用法。

MetadataExchangeClient mexClient = new MetadataExchangeClient(metadataAddress);
mexClient.ResolveMetadataReferences = true;
MetadataSet metaDocs = mexClient.GetMetadata();

      WsdlImporter importer = new WsdlImporter(metaDocs);
ServiceContractGenerator generator = new ServiceContractGenerator();

注解

使用 WsdlImporter 构造函数可从一组元数据文档中创建一个 WsdlImporter 对象。

适用于

WsdlImporter(MetadataSet, IEnumerable<IPolicyImportExtension>, IEnumerable<IWsdlImportExtension>)

从指定的元数据、自定义策略导入程序和自定义 WSDL 导入程序创建一个 WsdlImporter 对象。

public:
 WsdlImporter(System::ServiceModel::Description::MetadataSet ^ metadata, System::Collections::Generic::IEnumerable<System::ServiceModel::Description::IPolicyImportExtension ^> ^ policyImportExtensions, System::Collections::Generic::IEnumerable<System::ServiceModel::Description::IWsdlImportExtension ^> ^ wsdlImportExtensions);
public WsdlImporter (System.ServiceModel.Description.MetadataSet metadata, System.Collections.Generic.IEnumerable<System.ServiceModel.Description.IPolicyImportExtension> policyImportExtensions, System.Collections.Generic.IEnumerable<System.ServiceModel.Description.IWsdlImportExtension> wsdlImportExtensions);
new System.ServiceModel.Description.WsdlImporter : System.ServiceModel.Description.MetadataSet * seq<System.ServiceModel.Description.IPolicyImportExtension> * seq<System.ServiceModel.Description.IWsdlImportExtension> -> System.ServiceModel.Description.WsdlImporter
Public Sub New (metadata As MetadataSet, policyImportExtensions As IEnumerable(Of IPolicyImportExtension), wsdlImportExtensions As IEnumerable(Of IWsdlImportExtension))

参数

metadata
MetadataSet

已下载的元数据。

policyImportExtensions
IEnumerable<IPolicyImportExtension>

用于导入自定义策略语句的自定义策略导入程序。

wsdlImportExtensions
IEnumerable<IWsdlImportExtension>

用于导入自定义 WSDL 元素的自定义 WSDL 导入程序。

例外

metadata 参数为 null

示例

下面的代码示例演示如何在使用 WSDLDocumentationImporter 对象之前将新的自定义 WSDL 导入程序 (WsdlImporter) 添加到默认的导入程序组中。

// The following code inserts a custom WsdlImporter without removing the other
// importers already in the collection.
System.Collections.Generic.IEnumerable<IWsdlImportExtension> exts = importer.WsdlImportExtensions;
System.Collections.Generic.List<IWsdlImportExtension> newExts
  = new System.Collections.Generic.List<IWsdlImportExtension>();
foreach (IWsdlImportExtension ext in exts)
{
  Console.WriteLine("Default WSDL import extensions: {0}", ext.GetType().Name);
  newExts.Add(ext);
}
newExts.Add(new WsdlDocumentationImporter());
System.Collections.Generic.IEnumerable<IPolicyImportExtension> polExts = importer.PolicyImportExtensions;
importer = new WsdlImporter(metaDocs, polExts, newExts);

注解

使用此构造函数可控制要导入的元数据以及要使用的策略和 WSDL 导入程序。

注意

如果将自定义策略导入程序或自定义 WSDL 导入程序传递给此构造函数,则不加载在应用程序配置文件中指定的任何自定义导入程序。 如果您要添加某个自定义导入程序,则必须在使用此构造函数之前重新构建导入程序集合。 请参见“示例”一节。

适用于

WsdlImporter(MetadataSet, IEnumerable<IPolicyImportExtension>, IEnumerable<IWsdlImportExtension>, MetadataImporterQuotas)

从指定的元数据、自定义策略导入程序和自定义 WSDL 导入程序创建一个 WsdlImporter 对象。

public:
 WsdlImporter(System::ServiceModel::Description::MetadataSet ^ metadata, System::Collections::Generic::IEnumerable<System::ServiceModel::Description::IPolicyImportExtension ^> ^ policyImportExtensions, System::Collections::Generic::IEnumerable<System::ServiceModel::Description::IWsdlImportExtension ^> ^ wsdlImportExtensions, System::ServiceModel::Description::MetadataImporterQuotas ^ quotas);
public WsdlImporter (System.ServiceModel.Description.MetadataSet metadata, System.Collections.Generic.IEnumerable<System.ServiceModel.Description.IPolicyImportExtension> policyImportExtensions, System.Collections.Generic.IEnumerable<System.ServiceModel.Description.IWsdlImportExtension> wsdlImportExtensions, System.ServiceModel.Description.MetadataImporterQuotas quotas);
new System.ServiceModel.Description.WsdlImporter : System.ServiceModel.Description.MetadataSet * seq<System.ServiceModel.Description.IPolicyImportExtension> * seq<System.ServiceModel.Description.IWsdlImportExtension> * System.ServiceModel.Description.MetadataImporterQuotas -> System.ServiceModel.Description.WsdlImporter
Public Sub New (metadata As MetadataSet, policyImportExtensions As IEnumerable(Of IPolicyImportExtension), wsdlImportExtensions As IEnumerable(Of IWsdlImportExtension), quotas As MetadataImporterQuotas)

参数

metadata
MetadataSet

已下载的元数据。

policyImportExtensions
IEnumerable<IPolicyImportExtension>

用于导入自定义策略语句的自定义策略导入程序。

wsdlImportExtensions
IEnumerable<IWsdlImportExtension>

用于导入自定义 WSDL 元素的自定义 WSDL 导入程序。

quotas
MetadataImporterQuotas

一次要检索的元数据量。

例外

metadata 参数为 null

示例

下面的代码示例演示如何在使用 WSDLDocumentationImporter 对象之前将新的自定义 WSDL 导入程序 (WsdlImporter) 添加到默认的导入程序组中。

// The following code inserts a custom WsdlImporter without removing the other
// importers already in the collection.
System.Collections.Generic.IEnumerable<IWsdlImportExtension> exts = importer.WsdlImportExtensions;
System.Collections.Generic.List<IWsdlImportExtension> newExts
  = new System.Collections.Generic.List<IWsdlImportExtension>();
foreach (IWsdlImportExtension ext in exts)
{
  Console.WriteLine("Default WSDL import extensions: {0}", ext.GetType().Name);
  newExts.Add(ext);
}
newExts.Add(new WsdlDocumentationImporter());
System.Collections.Generic.IEnumerable<IPolicyImportExtension> polExts = importer.PolicyImportExtensions;
importer = new WsdlImporter(metaDocs, polExts, newExts);

注解

使用此构造函数可控制要导入的元数据以及要使用的策略和 WSDL 导入程序。

注意

如果将自定义策略导入程序或自定义 WSDL 导入程序传递给此构造函数,则不加载在应用程序配置文件中指定的任何自定义导入程序。 如果您要添加某个自定义导入程序,则必须在使用此构造函数之前重新构建导入程序集合。 请参见“示例”一节。

适用于