读书人

Listlt;gt;与WCF服务解决方案

发布时间: 2012-01-18 00:23:26 作者: rapoo

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()); 

读书人网 >C#

热点推荐