WebService的简单部署
Webservice概念
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:表示信息交换的协议.
3.WSDL:Web服务描述语言.
4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
1.创建WebService
新建一个ASP.NET Web 服务
添加一些代码,这里写了一个查询了数据库的方法,返回了XmlDataDocument
public XmlDataDocument GetPeopleList(string name)
{
string str = "select * from T_Teacher where teachername='" + name + "'";
DataSet ds = SqlHelper.QuerySql(str);
XmlDataDocument xd = new XmlDataDocument();
if (ds.Tables[0].Rows.Count == 0)//没有查询到任何记录
{
string xml = "<NewDataSet>无数据</NewDataSet>";
xd.LoadXml(xml);
}
else
{
xd = new XmlDataDocument(ds);
}
return xd;
}
2.部署WebService
生成项目,再发布这个网站到IIS
得到服务页面的地址 http://localhost:8901/ServiceA.asmx
3.调用WebService
新建另一个网站,
添加Web引用
URL为上一步骤得到的服务页面的地址 http://localhost:8901/ServiceA.asmx
点击添加引用
项目中会多出这些
再看代码调用
protected void btn_ws_Click(object sender, EventArgs e)
{
//服务在这里作为一个类来使用
WebServiceA.ServiceA sa = new WebServiceA.ServiceA();
XmlNode xn = sa.GetPeopleList(TextBox2.Text);
DataSet ds = new DataSet();
XmlDataDocument xd = new XmlDataDocument();
StringBuilder xmlString1 = new StringBuilder(xn.OuterXml);
xd.LoadXml(xmlString1.ToString());
//这里用到了XmlDataDocument向DataSet转换
//在创建WebService里用到的是将DataSet向XmlDataDocument转换
//可以记住这个转换方法,很有用
ds.ReadXml(new XmlNodeReader(xd));
//将数据绑定到控件
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
}
下面是调用结果: