WebService实例详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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通信以根除特定对象模型协议带来的障碍。
源码剖析下webservice的用法
WebService源码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.IO;
///
///SecurityWebService的Ì?摘a要©a说¦Ì明¡Â
///
[WebService(Namespace = "/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许JavaScript调用webservice服务请取消下行注释
// [System.Web.Script.Services.ScriptService]
publicclass SecurityWebService : System.Web.Services.WebService
{
//构造函数
public SecurityWebService()
{
}
//下面这句话的作用是表名提供服务的接口,没有这句话即使声明了public方法也不能显示的显示出来,同时对该方法所提供的服务进行描述
[WebMethod(Description = "实º¦Ì现?简¨©单Ì£¤的Ì?加¨®法¤¡§运?算?", EnableSession = false)]
publicdouble GetSum(string strFirst, string strSecond)
{
double sum = double.Parse(strFirst) + double.Parse(strSecond);
return sum;
}
}
下面是做的调用webservice服务的小程序,在发布完webservice后,在程序中引用web服务,即可使用该服务。下面是程序源码:PublicClass_Default
Inherits System.Web.UI.Page
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load EndSub
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As EventArgs) Handles
Button1.Click
'Dim a As New WebReference.SecurityWebService
Dim a AsNew GetSum.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 As EventArgs) Handles TextBox2.TextChanged
EndSub
EndClass