从Webservice获得泛型集合

来源:互联网 发布:淘宝助理无数据 编辑:程序博客网 时间:2024/06/05 00:47

1。先建立模型层:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Air.Model
{
    public class City
    {
        private int _cityId;

        public int CityId
        {
            get { return _cityId; }
            set { _cityId = value; }
        }
        private string _cityName;

        public string CityName
        {
            get { return _cityName; }
            set { _cityName = value; }
        }
        private string _districtCode;

        public string DistrictCode
        {
            get { return _districtCode; }
            set { _districtCode = value; }
        }
    }
}

2.。Webservice 反射方法

using System;
using System.Data;
using System.Linq;
using System.Web;
using System.Collections;
using System.Web.Services;

using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;

using System.Collections.Generic;
using Air.Model;


namespace Air.AirService
{

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]

    public class AirService : System.Web.Services.WebService
    {
        [WebMethod]
        public List<City> GetCitys()
        {
            List<City> citys = new List<City>();
            return citys;
        }

}

3。引用Web服务

 

如果为同一项目中使用则选择Web Services in this solution

如果为本地调用则选择Web services on the local machine

如果远程调用则悬在Browse UDDI Servers on the local network

选择所需要的web服务

更改web资源名称,并点击添加web引用

4。调用web方法

        public void DataBind() {
            AirService.AirService airService = new Air.AirService.AirService();
            List<City> DataSource = airService.GetCitys();
        }

如上为webservice返回泛型集合的方法,需要注意的是webservice只能返回类型而不能返回接口,如果使用IList<T>则会出现无法序列化对象错误。

原创粉丝点击