从Visual Studio.Net2003开始,微软的.Net开发平台就吸引了很多的编程的专业人员和爱好者。当微软的Visual Studio.Net2005一面世,世界为之再次一惊,真的可以说是“取其精华,去其糟粕”了。当然新的成长也会带来新的问题,但是总体来说是在前进着的。好了,废话也不多说了,来用这个非常方便的.Net平台来开发这个Demo吧!
        我们在《 2.用C/S程序调用Web服务下面就是一个关键部分了,右击工程名称选择“添加Web引用”,在弹出的窗口中选择“本地计算机的Web服务”后,会列出所有在您计算机上能找的WebService,选择并点击上一篇随笔中定义的MyServiceClass,在新出的窗口中将Web引用名更改为“MyServ”,点击“添加引用”。这样在工程的Web References文件夹中会添加一个MyServiceClass的代理,名为“MyServ”。
        添加完WebService的代理后,我们就可以在程序中使用了,下面看看上面窗体的代码如下:
 12.用C/S程序调用Web服务using System;
 22.用C/S程序调用Web服务using System.Collections.Generic;
 32.用C/S程序调用Web服务using System.ComponentModel;
 42.用C/S程序调用Web服务using System.Data;
 52.用C/S程序调用Web服务using System.Drawing;
 62.用C/S程序调用Web服务using System.Text;
 72.用C/S程序调用Web服务using System.Windows.Forms;
 82.用C/S程序调用Web服务
 92.用C/S程序调用Web服务namespace WindowsPro
10}
其中的第18行“MyServ.MyServiceClass MyWebServ = new MyServ.MyServiceClass();”是实列化MyServiceClass代理类,以便在下面的代码中调用MyServiceClass中的方法,在第21行“bool LoginOK = MyWebServ.Login(this.tB_UserName.Text, this.tB_PassWord.Text);”中调用了MyServiceClass中的Login方法,MyWebServ生成Soap消息后发送到服务器端验证所输入的用户名和密码是否正确,并返回结果。大家可以运行一下这个程序,输入正确的用户名“Micky”和密码“micky0”测试一下,再输入一个其他的用户名和密码测试一下。
         这里简要解释一下调用机制:Login方法中的两个参数(从this.tB_UserName.Text和this.tB_PassWord.Text中获得)通过MyServiceClass的代理类MyServ生成一个Soap消息,将这个Soap消息通过Http协议发送给服务器端的MyServiceClass,而服务器端的MyServiceClass解析Soap消息后调用相应的方法执行,并将方法返回的值再由MyServiceClass生成一个Soap消息通过Http协议发送给调用的客户端,当调用的客户端MyServiceClass的代理类MyServ接受到这个消息,解析出里面返回的值,赋值给变量bool LoginOK。
        由上面说的可以看出我们必须知道每个调用的方法所要传入的参数类型和方法所要返回值的类型。
        今天我们通过一个Windows应用程序的用户登录窗口实现了一个简单的C/S程序调用WebService。下一篇随笔我们还是要用到MyServiceClass这个服务,并将修改其中的Login方法,再来讲解使用此应用程序如何再次调用修改后的MyServiceClass服务。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-11
  • 2021-09-04
  • 2022-12-23
  • 2021-11-03
  • 2021-10-10
猜你喜欢
  • 2021-08-11
  • 2021-08-12
  • 2019-12-04
  • 2022-12-23
  • 2021-09-29
  • 2021-08-24
相关资源
相似解决方案