WebService 的简单部署
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(); ??????? } ? 下面是调用结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |