WsdlExporter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将服务、协定和终结点信息转换为元数据文档。
public ref class WsdlExporter : System::ServiceModel::Description::MetadataExporter
public class WsdlExporter : System.ServiceModel.Description.MetadataExporter
type WsdlExporter = class
inherit MetadataExporter
Public Class WsdlExporter
Inherits MetadataExporter
- 继承
示例
下面的代码示例演示了如何使用 ExportEndpoint 方法,从 MetadataSection 所调用的 ServiceEndpoint 对象集合中的终结点生成一组 myServiceEndpoints
对象。
using System;
using System.ServiceModel;
using System.ServiceModel.Description;
namespace WsdlExporterSample
{
class Program
{
static void Main(string[] args)
{
WsdlExporter exporter = new WsdlExporter();
exporter.PolicyVersion = PolicyVersion.Policy15;
ServiceEndpoint [] myServiceEndpoints = new ServiceEndpoint[2];
ContractDescription myDescription = new ContractDescription ("myContract");
myServiceEndpoints[0] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));
myServiceEndpoints[1] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));
// Export all endpoints for each endpoint in collection.
foreach (ServiceEndpoint endpoint in myServiceEndpoints)
{
exporter.ExportEndpoint(endpoint);
}
// If there are no errors, get the documents.
MetadataSet metadataDocs = null;
if (exporter.Errors.Count != 0)
{
metadataDocs = exporter.GetGeneratedMetadata();
}
}
}
}
Imports System.ServiceModel
Imports System.ServiceModel.Description
Module Module1
Sub Main()
Dim exporter As New WsdlExporter()
exporter.PolicyVersion = PolicyVersion.Policy15
Dim myServiceEndpoints() As ServiceEndpoint = New ServiceEndpoint(1) {}
Dim myDescription As New ContractDescription("myContract")
myServiceEndpoints(0) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))
myServiceEndpoints(1) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))
'Export all endpoints for each endpoint in collection.
For Each endpoint As ServiceEndpoint In myServiceEndpoints
exporter.ExportEndpoint(endpoint)
Next
'If there are no errors, get the documents.
Dim metadataDocs As MetadataSet
metadataDocs = Nothing
If (exporter.Errors.Count = 0) Then
metadataDocs = exporter.GetGeneratedMetadata()
End If
End Sub
End Module
注解
使用 WsdlExporter 类可以将 ContractDescription 或 ServiceEndpoint 对象转换为由 MetadataSection 对象表示的元数据。
WsdlExporter 可分三步操作。
调用 ExportContract、ExportEndpoint 或 ExportEndpoints 方法,传递相应的参数。
通过检查基本 Errors 属性来确定是否发生导出错误。
如果无错误,则可使用 GetGeneratedMetadata 来获取 MetadataSection 对象的集合,或通过使用 GeneratedWsdlDocuments 或 GeneratedXmlSchemas 属性来获取更多元数据的特定版本。
您可通过实现 IWsdlExportExtension 接口,来支持导出自定义 WSDL 扩展,同时还可通过实现 IPolicyExportExtension 接口,来支持导出自定义策略断言。 有关更多信息,请参见这些接口的文档。
备注
只可用于从包含公共运行库 (CLR) 类型信息的 实例导出元数据,例如通过使用 方法创建的 实例,或为 实例创建的作为其 的一部分 实例。 对于从服务元数据导入的或构建时没有类型信息的WsdlExporter
实例,您不能使用 ContractDescription
从此类实例导出元数据。
构造函数
WsdlExporter() |
初始化 WsdlExporter 类的新实例。 |
属性
Errors |
获取元数据导出过程中发生的错误的集合。 (继承自 MetadataExporter) |
GeneratedWsdlDocuments |
调用一个导出方法后,获取 ServiceDescription 对象的集合。 |
GeneratedXmlSchemas |
调用一个导出方法后,获取一组 XmlSchema 对象。 |
PolicyVersion |
指定正在使用的 WS-Policy 规范的版本。 (继承自 MetadataExporter) |
State |
获取在元数据的导出中使用的对象的词典。 (继承自 MetadataExporter) |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
ExportContract(ContractDescription) |
导出仅描述指定协定说明中的协定信息的元数据。 |
ExportEndpoint(ServiceEndpoint) |
生成有关指定终结点的元数据。 |
ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName) |
从指定服务生成终结点组的元数据。 |
ExportPolicy(ServiceEndpoint) |
将策略断言转换为 PolicyConversionContext 对象。 (继承自 MetadataExporter) |
GetGeneratedMetadata() |
返回所生成的 MetadataSection 对象的可枚举集合。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |