首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.ServiceModel.Description.WsdlContractConversionContext类的实例化

System.ServiceModel.Description.WsdlContractConversionContext类的实例化
EN

Stack Overflow用户
提问于 2012-09-17 12:16:11
回答 1查看 291关注 0票数 0

对于项目需求,我需要实例化没有构造函数的WsdlContractConversionContext

有什么工作可以做到这一点吗?

WsdlContractConversionContextSystem.ServiceModel.Description命名空间的成员。

注意:的要求是,我正在执行IWsdlExportExtension.ExportContractIWsdlImportExtension.ImportContract的实现,为了对这个实现进行单元测试,我需要WsdlContractConversionContext实例。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-18 04:51:10

基本上有两种方法可以做到这一点:要么使用反射调用类的非公共构造函数(确保向其传递适当的参数);要么让WCF为您创建它,并在需要的地方使用它。WsdlContractConversionContext作为参数传递给IWsdlExportExtension.ExportContractIWsdlImportExtension.ImportContract,因此您需要实现这两个接口中的一个(导出通常更容易,因为您不需要修改使用WSDL的工具),并强制调用接口(为此您可能需要访问服务元数据端点)。

http://blogs.msdn.com/b/carlosfigueira/archive/2011/10/06/wcf-extensibility-wsdl-export-extension.aspx上的文章有一个实现WSDL导出扩展的示例。

问题中的编辑更新:众所周知,WCF的许多部分很难进行单元测试。如果不能使用WCF本身来创建实例,那么唯一的选择就是使用反射。要创建转换上下文类的实例,您需要一个ContractDescription实例(您可以为您的合同创建该实例,但并不容易)和一个更难的PortType实例。我担心单元测试您的WSDL导出/导入扩展的实现可能不值得这么做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12458970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档