这几天净做WebService了,昨天碰到一个问题
服务端代码如下:
Hello为我定义的一个实体类,返回值为一个List<Hello>
[WebMethod]
public List<Hello> HelloWorld2()
{
List<Hello> lst = new List<Hello>();
Hello rt = new Hello();
rt.name = "test";
lst.Add(rt);
return lst;
}
我客户端代码:
Service1SoapClient ssc = new Service1SoapClient();
List<Hello> rt = new List<Hello>();
rt = ssc.HelloWorld();
MessageBox.Show(rt[0].name);
我编译的时候却告诉我不能将List<Hello>转换为Hello[ ]
我就纳闷了,明明定义的服务端的方法返回的是一个List的集合,为什么到了客户端引用的时候就成了一个数组呢?
解决方法:
在客户端所引用的Web服务---右键---Configure Service Reference..(引用服务配置)
出现如下对话框:
从上面的图片可以看出
Collection Type为System.Array类型,将其改为System.Collections.Generc.List就可以正常的接受List类型的集合了