Web service表面上就是一个应用程序,可以说就是一个通过web调用的API,其实,web Service是建立可互操作的分布式应用程序的平台,通过这个平台,才可以使客户端和服务器端自用的通过http进行通信,异地调用的Api很多,但是,都很难达到目前的要求,而web service可以跨语言跨平台的调用,在使用的过程中,它就和一个类一样,可以写和类一样的程序代码,唯一不同的是,类只能在本项目中调用,而web 服务可以跨语言跨平台跨项目调用,只要在[webMethod]下面的方法都可以调用,不错吧!
下面就来简单的介绍一下组成web service平台的三个技术
1、
2、
3、
注:WSDL用来描述web Service的文件
调用webService的方式通过下面的图看以看出有三种
可以调用本解决方案中web服务,本机的web服务,和网络上的web服务,换句话说我们可以在解决方案中或者本项目中添加web服务,或者单独创建一个web服务,发布到服务中,可以通过本机或者任意通过网络调用。
下面就来看看如何创建和调用web服务
如果我们要创建一个单独的我web服务,可以直接找到Asp.Net web服务应用程序
其他的比如在本项目或本解决方案中创建web服务也是如此
WebService.cs中的代码
public class WebService : System.Web.Services.WebService {
}
可以有很多个 [WebMethod],但是每个webMethod只对它下面的方法起作用,就是说如果一个方法上没有[WebMethod],那么它将不能被外界调用
我们可以通过浏览WebService.asmx来试试我们的方法是否有用
如果没有参数的方法,就像HelloWorld,就直接进入以下
调用即可得到以下结果
但是当有参数的时候,就像result,就直接进入以下
我们需要输入完参数才可以调用
如果我们想看一下webservice的描述文件,可以直接访问WebService.asmx?WSDL即可
那么下面我们就来看看如何发布和调用WebService了
1、
2、
l
添加web引用
然后我们就可以在代码中
添加引用如using WebServiceDemo;
然后再方法中实例化webService类,调用方法即可
其他的也和上面的一样网上有好多的web服务,自己试试用一下 如查询天气,ip,中英文翻译等