首页 > 技术文章 > C#如何创建一个简单的WebService程序并调用?

liutaovip 2020-06-05 09:56 原文

1.WebService概念

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。

简单的说,WebService就是一种跨编程语言和跨操作系统平台的远程调用技术。所谓跨编程语言和跨操作平台,就是说服务端程序采用C#编写,客户端程序则可以采用其他编程语言编写,反之亦然。跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。 远程调用,就是一台计算机的应用可以调用其他计算机上的应用。例如:支付宝,支付宝并没有银行卡等数据,它只是去调用银行提供的接口来获得数据。还有天气预报等,也是气象局把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能。

 

2.WebService的原理

WebService采用Http协议来在客户端和服务端之间传输数据。WebService使用XML来封装数据,XML主要的优点在于它是跨平台的。

WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议规定的。

WebService服务器端首先要通过一个WSDL文件来说明自己有什么服务可以对外调用。简单的说,WSDL就像是一个说明书,用于描述WebService及其方法、参数和返回值。 WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

 

3.提供一些免费的WebService服务的网站:

http://www.webxml.com.cn/zh_cn/index.aspx

 

4.客户端实现的几种方式?

  • Wsimport
  • Service
  • HttpURLConnection
  • Ajax调用方式

 

一、使用C#语言和VS开发环境实现并调用WebService服务。

1.创建一个WebForm应用程序,博主新建的是MVC项目,这都无所谓没关系的,不影响使用WebService。

 

 

 2.在项目中右击【添加】——【Web服务.asmx】文件。

 

 

 3.提供一个方法,用来给别的应用程序调用的。

[WebMethod]:这个特性标签表示将该方法对外公开,允许别的应用程序调用该方法。

 

 

 4.一个简单的WebService服务器就已经实现好了,我们可以右击【Web服务.asmx】,然后点击【在浏览器查看】,然后在浏览器中可以看到这样一个界面,可以看到上面有2个方法,说明这2分方法可以对外开发,可以被调用。

 

 

 5.服务端写好了,现在开始编写客户端代码,用来调用服务端的程序。我们在重新新建一个WebForm应用程序。

 

 

 6.然后点击【服务】——【添加服务引用】

 

 

 7.然后看到这个界面,将服务端提供的asmx路径赋值下来粘贴到这里。

 

 

 8.然后点击【转到】,可以看到已经有服务了。

 

 

 

 

 

 9.然后新建一个WebForm窗体。

 

 

 10在按钮的单击事件中写代码。先引入命名空间,然后调用里面的方法。

 protected void Button1_Click(object sender, EventArgs e)
        {
            ServiceServer.Test_WebServiceSoapClient client = new ServiceServer.Test_WebServiceSoapClient();

            int a = int.Parse(this.TextBox1.Text.ToString());
            int b = int.Parse(this.TextBox2.Text.ToString());

            int sum = client.Add(a, b);
            this.Label1.Text = sum.ToString();
        }

11最后运行测试

推荐阅读