WsdlImporter Constructor (MetadataSet^, IEnumerable<IPolicyImportExtension^>^, IEnumerable<IWsdlImportExtension^>^, MetadataImporterQuotas^)
Creates a WsdlImporter object from the specified metadata, custom policy importers, and custom WSDL importers.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
public:
WsdlImporter(
MetadataSet^ metadata,
IEnumerable<IPolicyImportExtension^>^ policyImportExtensions,
IEnumerable<IWsdlImportExtension^>^ wsdlImportExtensions,
MetadataImporterQuotas^ quotas
)
Parameters
- metadata
-
Type:
System.ServiceModel.Description::MetadataSet^
The downloaded metadata.
- policyImportExtensions
-
Type:
System.Collections.Generic::IEnumerable<IPolicyImportExtension^>^
The custom policy importers used to import custom policy statements.
- wsdlImportExtensions
-
Type:
System.Collections.Generic::IEnumerable<IWsdlImportExtension^>^
The custom WSDL importers used to import custom WSDL elements.
- quotas
-
Type:
System.ServiceModel.Description::MetadataImporterQuotas^
The amount of metadata to retrieve at a time
| Exception | Condition |
|---|---|
| ArgumentNullException | The metadata argument is null. |
Use this constructor to control the metadata to be imported and the policy and WSDL importers to be used.
Note |
|---|
If custom policy importers or custom WSDL importers are passed to this constructor any custom importers specified in application configuration files are not loaded. If you want to add a custom importer, you must reconstruct the importers collections prior to using this constructor. See the Example section. |
The following code example shows how to add a new custom WSDL importer (the WSDLDocumentationImporter) to the default set of importers prior to using the WsdlImporter object.
// 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);
Available since 3.0
