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>则会出现无法序列化对象错误。