WebService的List类型

http://blog.csdn.net/aspnet2002web/article/details/6045034


这几天净做WebService了,昨天碰到一个问题

服务端代码如下:

        [WebMethod]
        public List<Hello> HelloWorld2()
        {
            List<Hello> lst = new List<Hello>();
            Hello rt = new Hello();
            rt.name = "test";
            lst.Add(rt);
            return lst;
        }

Hello为我定义的一个实体类,返回值为一个List<Hello>

我客户端代码:

            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..(引用服务配置)

出现如下对话框:

WebService的List类型

从上面的图片可以看出

Collection Type为System.Array类型,将其改为System.Collections.Generc.List就可以正常的接受List类型的集合了