现在的好多网站都有天气预报,网上支付等功能,其实他们只不过就是引用了人家写好的一个web应用程序,就是我们通常说的web Service,可见web sevice是多么重要,现在我们就来系统的学一下asp.net中web service Web service表面上就是一个应用程序,可以说就是一个通过web调用的API,其实,web Service是建立可互操作的分布式应用程序的平台,通过这个平台,才可以使客户端和服务器端自用的通过http进行通信,异地调用的Api很多,但是,都很难达到目前的要求,而web service可以跨语言跨平台的调用,在使用的过程中,它就和一个类一样,可以写和类一样的程序代码,唯一不同的是,类只能在本项目中调用,而web 服务可以跨语言跨平台跨项目调用,只要在[webMethod]下面的方法都可以调用,不错吧! 下面就来简单的介绍一下组成web service平台的三个技术1、 我们知道Xml是一个可以跨语言使用的可扩展性的标记语言,而web service也就是用Xml作为平台中数据表示的基本格式2、 通过soap作为基本的通信协议,通过soap协议可以实现不同项目,不同站点,甚至异地调用3、 由于web service是基于http协议的,所以说可以穿越防火墙进行通信 注:WSDL用来描述web Service的文件 调用webService的方式通过下面的图看以看出有三种 可以调用本解决方案中web服务,本机的web服务,和网络上的web服务,换句话说我们可以在解决方案中或者本项目中添加web服务,或者单独创建一个web服务,发布到服务中,可以通过本机或者任意通过网络调用。 下面就来看看如何创建和调用web服务 如果我们要创建一个单独的我web服务,可以直接找到Asp.Net web服务应用程序 其他的比如在本项目或本解决方案中创建web服务也是如此WebService.cs中的代码public class WebService : System.Web.Services.WebService { public WebService () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public int result(int num) { return num; } }可以有很多个 [WebMethod],但是每个webMethod只对它下面的方法起作用,就是说如果一个方法上没有[WebMethod],那么它将不能被外界调用 我们可以通过浏览WebService.asmx来试试我们的方法是否有用 调用即可得到以下结果 但是当有参数的时候,就像result,就直接进入以下 我们需要输入完参数才可以调用