Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向asmx客户端和WCF客户端公开WCF服务_Wcf_Xml Serialization_Asmx_Datacontract - Fatal编程技术网

向asmx客户端和WCF客户端公开WCF服务

向asmx客户端和WCF客户端公开WCF服务,wcf,xml-serialization,asmx,datacontract,Wcf,Xml Serialization,Asmx,Datacontract,我们有一个WCF服务,它的操作接收数据契约对象的列表作为其参数,并返回不同数据契约对象的列表,例如 List<CheckOutResponse> ProcessCheckOut(List<CheckOutRequest> obj); List ProcessCheckOut(List obj); 这项服务目前正被一个WCF客户机使用,它工作得很好 我们现在需要将相同的服务公开给构建在.NET1.1上的遗留应用程序。我了解需要在服务的web.config中进行的绑定更改

我们有一个WCF服务,它的操作接收数据契约对象的
列表
作为其参数,并返回不同数据契约对象的
列表
,例如

List<CheckOutResponse> ProcessCheckOut(List<CheckOutRequest> obj);
List ProcessCheckOut(List obj);
这项服务目前正被一个WCF客户机使用,它工作得很好

我们现在需要将相同的服务公开给构建在.NET1.1上的遗留应用程序。我了解需要在服务的
web.config
中进行的绑定更改,使用
basichtp
绑定并设置正确的服务行为等

我的问题是数据契约。我相信.NET1.1客户机使用的是
XMLSerializer
,这不能用于数据契约

我真的不想将数据契约更改为其他与.NET1.1兼容的复杂类型,因为这样我们就需要对现有的WCF客户端进行大量回归测试


有人找到了这个问题的解决方案吗?

序列化应该没有问题。.NET 1.1客户端只会看到一个将值放入元素而不是属性的结构。

对ASMX客户端使用
basicHttpBinding
——最后,消息会在网络上序列化为SOAP(XML)消息,NET 1.1 ASMX客户端将使用其可用的任何工具/算法/库对其进行反序列化(它不知道也不关心SOAP消息来自何处)