当前位置:首页 > WebService实例详解
WebService实例详解
Web Service是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
Web Service说白了就是一个执行特定功能的组件。只不过这个组件是发布在网上的,只向外界暴露提供服务的接口,具体的执行过程是对外界保密的,相当于一 个第三方程序。只要这个web sevice能够被发现,那么所有人都可以使用这个服务。举一个简单的例子,在软件开发过程中,众多的软件都使用到了同一个功能,这个功能可能很复杂也可 能很简单,但是如果每个软件都开发一套这样的功能那显然是很浪费资源的,这时我们可以开发一套该功能的实现方法并把这种方法在网络上进行发布,这时众多的 软件就不必没人都开发一套该功能了,直接在网上通过调用该web service服务并将执行的结果返回即可。所以web service服务的调用即可用于BS项目,同样也可以用于CS项目,他们的关系可以用下图来简单呈现:
那web service是怎样进行通信的呢?
可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。像DCOM、RMI、IIOP等基于组件的对象模型已经流行了较长一段时间了。然而这些模型都是依赖于一个特定的对象模型协议。Web Service扩展了这些模型,使之可以和简单对象访问协议(Simple Object Access Protocol,SOAP)以及XML通信以根除特定对象模型协议带来的障碍。
源码剖析ASP.NET下webservice的用法
WebService源码如下:
using System;
usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web;
usingSystem.Web.Services; using System.IO;
///
///SecurityWebService的ì?摘a要?a说|ì明?? ///
[WebService(Namespace = \)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允许JavaScript调用webservice服务请取消下行注释 // [System.Web.Script.Services.ScriptService]
publicclassSecurityWebService : System.Web.Services.WebService {
//构造函数
publicSecurityWebService() { }
//下面这句话的作用是表名提供服务的接口,没有这句话即使声明了public方法也不能显示的显示出来,同时对该方法所提供的服务进行描述
[WebMethod(Description = \实o|ì现?简¨?单죤的ì?加¨?法¤?§运?算?\, EnableSession = false)]
publicdoubleGetSum(stringstrFirst, stringstrSecond) {
double sum = double.Parse(strFirst) + double.Parse(strSecond); return sum; } }
下面是VB.NET做的调用webservice服务的小程序,在发布完webservice后,在vb.net程序中引用web服务,即可使用该服务。下面是vb.net程序源码:
PublicClass_Default InheritsSystem.Web.UI.Page
ProtectedSubPage_Load(ByVal sender AsObject, ByVal e AsSystem.EventArgs) HandlesMe.Load EndSub
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e AsEventArgs) Handles Button1.Click
'Dim a As New WebReference.SecurityWebService DimaAsNewGetSum.SecurityWebService Dim c AsDouble
c = a.GetSum(TextBox1.Text.Trim, TextBox2.Text.Trim())
TextBox3.Text = c.ToString() EndSub
ProtectedSub TextBox2_TextChanged(ByVal sender AsObject, ByVal e AsEventArgs) Handles TextBox2.TextChanged EndSub EndClass
共分享92篇相关文档