在VB.NET调用Web Service提供的服务
技术qq交流群:JavaDream:251572072
下面是一篇文章比较详细,其实具体操作很简单,把Web Service服务地址,利用工具(VS2010),通过添加引用的形式,添加到项目中来就可以应用了.
大家如果这个地方不会操场的话,可以问问我QQ:1606841559
当Web Service已经处于对外提供服务状态,VB.NET就可以通过HTTP"调用"来使用这些服务了。当然前提是要了解Web Service对外提供服务所对应的URL,当了解到Web Service对应的URL后,VB.NET就像是使用本地的类库一样使用Web Service中提供的各种功能。所以有些人说,Web Service从实质上说,就是通过HTTP调用远程组件的一种方式。在VB.NET具体实现加入Web Service可参阅下面步骤中的第七步。
在下面介绍的这个数据库应用程序是通过使用上面的Web Service中提供的"Binding"服务,对程序中DataGrid组件实现数据绑定,提供使用Web Service中提供的"Update"服务,通过程序中的DataGrid来修改数据库。下面就是VB.NET调用Web Service提供服务来编写数据库应用程序的具体步骤:
1. 启动Visual Studio .Net。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3. 将【项目类型】设置为【Visual Basic项目】。
4. 将【模板】设置为【Windows应用程序】。
5. 在【名称】文本框中输入【TestWebService】。
6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在"E:\VS.NET项目"中就产生了名称为"TestWebService"文件夹,里面存放的就是TestWebService项目的所有文件。
7. 选择【解决方案资源管理器】|【引用】后,单击鼠标右键,在弹出的菜单中选择【添加Web 引用】,在弹出的【添加Web引用】对话框中的【地址】文本框中输入""后,单击回车键后,可得图03所示界面。单击图03中【添加引用】按钮,则在【TestWebService】项目中加入了Web引用。请注意""就是上面完成的Web Service对外提供服务的URL地址。
8. 从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应的操作:
◆DataGrid组件。
◆Button组件,分别是Button1至Button2,并在这二个Button组件拖入Form1的设计窗体后,分别双击它们,则系统会在Form1.vb文件分别产生这二个组件的Click事件对应的处理代码。
把VB.NET的当前窗口切换到Form1.vb的代码编辑窗口,并用下列代码替换Form1.vb中的Button1的Click事件对应的处理代码,下列代码功能是使用Web Service中提供的"Binding"服务对DataGrid组件实现数据绑定:
PrivateSubButton1_Click( ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesButton1.Click DimMyServiceAsNewlocalhost.Service1() DataGrid1.DataSource=MyService.Binding() DataGrid1.DataMember="Cust" EndSub
用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码,下列代码功能是使用Web Service中提供的"Update"服务实现通过DataGrid来修改数据库数据:
PrivateSubButton2_Click( ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesButton2.Click DimMyServiceAsNewlocalhost.Service1() DimdsAsDataSet=DataGrid1.DataSource DimdsChangesAsDataSet=ds.GetChanges() IfNot(dsChangesIsNothing)Then ds.Merge(MyService.Update(dsChanges),True) EndIf EndSub
至此,【TestWebService】项目的全部工作就完成了,调用Web Service是不是很简单。此时单击快捷键F5运行程序后。单击程序中的【绑定】按钮就会对程序中的DataGrid组件实现数据绑定,单击程序中的【修改】按钮,则程序会根据DataGrid中的内容来更新数据库。