客户端引用WCF服务,返回值类型从List变成了T[ ]类型

sunlru 2013-02-26 10:33:19
我的WCF服务配置设置:


集合类型设置已经设置成using System.Collections.Generic.list;

其中一个方法
服务端方法:
 
[WebMethod]
public List<TG_Org_detail_v> getOrganization(string organization_name)
{
return PrintBLL.getOrganization(organization_name);
}

客户端引用服务的方法代码:

List<TG_Org_detail_v> orgList = tengenService.getOrganization("");


现在全都报的是类似于这样的错误:



客户端引用的方法都从List<T>变成了T[]而且有且方法的参数格式也会变。
原先程序是可以的我把wcf服务编译一次之后再在客户端更新一下就出现这个问题是不是哪里配置不对。
...全文
804 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
小清新 2015-09-09
  • 打赏
  • 举报
回复
引用 10 楼 sunlru 的回复:
问题解决了 不知道为什么 如果我的webservice方法里面 会返回参数是DataSet或者 DataTable的话就会把List<T> 自动转换成 T[]
所以你后来都不用dataset 返回了?
sunlru 2013-03-07
  • 打赏
  • 举报
回复
问题解决了 不知道为什么 如果我的webservice方法里面 会返回参数是DataSet或者 DataTable的话就会把List<T> 自动转换成 T[]
zongyong 2013-03-06
  • 打赏
  • 举报
回复
要注意每个属性也是可序列化的,不能只单独看这个对象。
sunlru 2013-02-26
  • 打赏
  • 举报
回复
这篇文章 我看了就是设置“服务引用设置”我的设置跟教程上的一样但是问题依旧存在。
机器人 2013-02-26
  • 打赏
  • 举报
回复
生成的客户端代理更新一下。
EnForGrass 2013-02-26
  • 打赏
  • 举报
回复
引用 3 楼 Chinajiyong 的回复:
所有Webservice中传递的对象都必须能够序列化,List 数据结构反序列化后,在客户端自动变成了数组。这个是作为在网络之间传输的必要条件 你可以参考这篇文章 http://www.cnblogs.com/wizardwu/archive/2009/08/09/1542102.html
上面地址也提供了解决方案
echo0808 2013-02-26
  • 打赏
  • 举报
回复
Webservice中,就用数组吧
EnForGrass 2013-02-26
  • 打赏
  • 举报
回复
所有Webservice中传递的对象都必须能够序列化,List 数据结构反序列化后,在客户端自动变成了数组。这个是作为在网络之间传输的必要条件 你可以参考这篇文章 http://www.cnblogs.com/wizardwu/archive/2009/08/09/1542102.html
sunlru 2013-02-26
  • 打赏
  • 举报
回复
这个只是其中一个例子,我的意思是说服务端的方法返回值本来是List<T>但是客户端引用的时候就返回值就编程了T[],但是原先的程序是可以,我哪里配置有问题
gxingmin 2013-02-26
  • 打赏
  • 举报
回复
什么情况,服务端的函数定义和客户端调用代码都没看到你用到TG_ProductInfo_View类型啊 要不你别用List了,都改成[]数组吧
EnForGrass 2013-02-26
  • 打赏
  • 举报
回复
引用 6 楼 sunlru 的回复:
这篇文章 我看了就是设置“服务引用设置”我的设置跟教程上的一样但是问题依旧存在。
我之前试过确实可以的,

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧