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

有什么工作可以实现这一目标吗?

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

注意:确切的要求是,我正在执行IWsdlExportExtension.ExportContractIWsdlImportExtension.ImportContract的实现,并且要对该实现进行单元测试,我需要WsdlContractConversionContext实例。

#1楼 票数:1 已采纳

基本上有两种方法可以执行此操作:您可以使用反射调用该类的非公共构造函数(确保向其传递适当的参数); 或者,您可以让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导出/导入扩展的实现进行单元测试可能不值得。

  ask by RinoTom translate from so

未解决问题?本站智能推荐:

1回复

WSDL调用Web服务;服务器无法处理请求--->System.Security.AuthenticationException

我有一个程序,该程序通过WSDL结构将请求发送到Web服务,然后接收响应。 目前,我收到的答复是: 关于发生了什么的任何想法?
1回复

system.servicemodel.communicationexception。在system.servicemodel.ni.dll中

我在Windows Phone应用程序中调用WCF服务时遇到此错误。 请提出一些相同的解决方案。 样例代码: **控件不会转到显示以下内容的下一个功能: System.ServiceModel.ni.dll中的system.servicemodel.communicationex
1回复

卡住以初始化对象

我在Visual Studio 2013中生成服务WSDL,这是代码的一部分 然后,当我想使用以下代码插入新的公司名称时: 它给我一个错误{“对象引用未设置为对象的实例。”},请问您是否有任何建议或想法来解决此错误?
2回复

从wsdl为每个类创建单独的文件?

我正在与之合作的一家公司创建了一个wsdl,以了解他们像我将要编写的WCF服务接口的样子。 那不是真正的问题,因为它只是一个起点,而不是一个禁令。 但是,是否可以从其wsdl为接口中的每个类创建单独的类文件? 例如,不是创建代理类,而是为我辛苦了;)并自己创建了单个类?
1回复

Xamarin:初始化WSDLServiceClient时出现System.InvalidOperationException

我正在尝试制作Xamarin应用程序,它将通过WSDL通过WCF与Web服务一起使用。 我有SvcUtil使用.wsdl文件生成的.wsdl文件和.cs文件。 当我下一步时: 我有例外: 然后,我在控制台项目(.Net 4.5)中尝试了相同的代码,并且没有错误。 是否知道如何使
1回复

使用SaberWeb服务,但不使用代理类吗?

我从sabre获得了saber wsdl和tpfc连接器服务。 还获得了他们的wsdl代理类示例。 现在这些东西已经过时了,我的意思是他们的示例代码正在使用.net framework 2.0和代理类。 现在它是一种古老的方法,而有人向我建议了将创建一个.discomap的应用程序网络参考
1回复

从wsdl生成的类调用方法

只是想问一下我是否可以调用来自javascript中WSDL生成的类的方法。 谢谢!
2回复

从WSDLforFlex3创建可绑定类

我们的两个应用程序是具有Flex 3前端和SOAP样式WCF后端的Web应用程序。 为了与后端进行通信,我通过Flex Builder 3生成Web服务客户端类。一切正常,但维护这些生成的类非常烦人,我正在寻找一种更好的方法来做事(无需做专业当然要重写。 这是问题所在: 我使用Flex