首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

List<>与WCF服务解决方案

2012-01-18 
List与WCF服务///web service//为WCF服务[OperationContract]void Saverbuspoints(List buspoints lis

List<>与WCF服务
///web service 
//为WCF服务
   
[OperationContract] 
  void Saverbuspoints(List <buspoints> listbuspoints); 


////调用代码 
  Service1Client accServiceClient = new Service1Client(); 
  List <buspoints> listbuspoints = new List <buspoints>(); 
  为listbuspoints此对象添加了数据。

.... 

  accServiceClient.SaverbuspointsAsync(listbuspoints); 

如何将泛类型传递到web service中下划线部分提示错误参数请各位高手赐教!

[解决办法]
在WCF中,在Client生成的代理类中默认的会把List<T>类型转换为T[],所以
accServiceClient.SaverbuspointsAsync(buspoints[] bs); 其实它的参数类型为buspoints[]集合。

可以用如下的方式来改变:
在Client端的WCF的引用上,点击右键 -> Configuare Servie Reference -> 修改Collection type一项 即可。
[解决办法]
WCF中默认以数组形式传递
如果你没改默认配置的话,问题出在参数类型上。把list转换成数组就可以了
[解决办法]
当然你可以这样写:

C# code
accServiceClient.SaverbuspointsAsync(listbuspoints.ToArray()); 

热点排行