通过《实现篇》对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding元素来源于终结点的绑定对象,那么这些基于Binding的元数据以及相应的策略断言是如何被写入WSDL的呢?WSDL导出扩展(WSDL Export Extension)策略导出扩展(Policy Export Extension)就是为此设计的。

终结点的绑定本质上就是相关的绑定元素(BindingElement)的有序组合(关于绑定的深入剖析,可以参考《WCF技术剖析(卷1)》第3章),所以基于绑定的WSDL导出扩展通过绑定元素的形式实现。对于需要向最终导出的WSDL添加于Binding相关的元数据的绑定元素,必须实现System.ServiceModel.Description.IWsdlExportExtension接口。

此外,WSDL导出扩展并不限于被相应的绑定元素用于添加Binding相关的元数据,我们也可以采用终结点行为、契约行为和操作行为(服务行为不可以用于WSDL导出扩展)作为WSDL导出扩展实现在最终生成的WSDL中添加自定义的元数据。作为WSDL导出扩展的上述三种行为同样需要实现IWsdlExportExtension接口。

下面的代码片断给出了IWsdlExportExtension接口的定义,该接口定义了两个方法:ExportContract和ExportEndpoint,分别于WsdlExporter的同名方法对应。

interface IWsdlExportExtension
   2: {
void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context);
void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context);
   5: }

相关文章:

  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-09-05
  • 2021-12-13
  • 2021-05-15
  • 2021-06-14
猜你喜欢
  • 2021-09-12
  • 2021-11-16
  • 2022-01-19
  • 2021-09-03
  • 2021-03-31
相关资源
相似解决方案