vb怎样调用窗体:从 Windows 窗体调用 XML Web services



XMLWebservices是VisualStudio个新功能它提供在松耦合环境中使用标准协议(如HTTP、XML、XSD、SOAP和WSDL)交换消息功能可以结构化和类型化这些消息或对这些消息进行松散定义Web服务基于标准协议所以Web服务应用可以和各种区别实现、平台和设备通讯有关更多信息请参阅托管代码中XMLWebservices
可以使用Web服务增强Windows窗体功能连接Windows窗体和Web服务和Web服务思路方法样简单这些思路方法在服务器上进行处理然后返回思路方法结果
有两种类型Web服务思路方法:同步和异步同步Web服务思路方法时方等待Web服务响应后再继续执行操作异步Web服务思路方法时可以在等待Web服务响应同时继续使用线程这使得您能够在客户端应用中有效地使用现有线程集合有关使用同步和异步Web服务思路方法更多信息请参阅使用托管代码访问XMLWebservices
同步Web服务思路方法
同步Web服务思路方法包括该思路方法;等待在服务器上进行计算并返回个值;然后再继续执行Windows窗体中其他代码
创建XMLWebservices
创建Web服务应用有关更多信息请参阅创建托管代码中XMLWebservices
在解决方案资源管理器中用右键单击.asmx文件并选择“查看代码”
创建执行相加Web服务思路方法以下Web服务思路方法将两个整数相加然后返回两者和:

4.’VisualBasic
5.<WebMethod>PublicFunctionWebAdd(ByValxAsInteger,ByValyAsInteger)AsInteger
6.Returnx+y
7.EndFunction
8.
9.//C#
10.[WebMethod]
11.publicWebAdd(x,y)
12.{
13.x+y;
}
创建另个执行相乘Web服务思路方法以下Web服务思路方法将两个整数相乘并返回两者积:

15.’VisualBasic
16.<WebMethod>PublicFunctionWebMultiply(ByValxAsInteger,ByValyAsInteger)AsInteger
17.Returnx*y
18.EndFunction
19.
20.//C#
21.[WebMethod]
22.publicWebMultiply(x,y)
23.{
24.x*y;
}
从“生成”菜单中选择“生成解决方案”也可以浏览到在此项目中创建.asmx文件以便了解Web服务更多信息现在就可以从Windows窗体Web服务了

同步XMLWebservices
创建新Windows应用有关更多信息请参阅创建Windows应用项目
添加对上面创建Web服务引用详细信息请参阅添加和移除Web引用
从工具箱中添加 3个TextBoxControl控件和两个ButtonControl控件文本框用于数字按钮则用于计算和Web服务思路方法
按以下方式设置Control控件属性:

Control控件
属性
文本

TextBox1
Text
0

TextBox2
Text
0

TextBox3
Text
0

Button1
Text
相加

Button2
Text
相乘

用右键单击该窗体并选择“查看代码”
将Web服务例子创建为类成员需要知道创建上述Web服务所在服务器名称

7.’VisualBasic
8.’Replacelocalhostbelowwiththenameoftheserverwhere
9.’youcreatedtheWebservice.
10.DimMathServiceClassAsNewlocalhost.Service1
11.
12.//C#


localhost.Service1MathServiceClass=localhost.Service1;
为Button1Click事件创建事件处理详细信息请参阅在“Windows窗体设计器”上创建事件处理

14.’VisualBasic
15.PrivateSubButton1_Click(ByValsenderAs.Object,ByValeAs.EventArgs)HandlesButton1.Click
16.’Createinstancesoftheoperandsandresult.
17.Dimx,y,zAsInteger
18.’Parhecontentsofthetextboxesoegers.
19.x=Integer.Parse(TextBox1.Text)
20.y=Integer.Parse(TextBox2.Text)
21.’CalltheWebAddWebservicemethodfromtheinstanceoftheWebservice.
22.z=MathServiceClass.WebAdd(x,y)
23.TextBox3.Text=z.
24.EndSub
25.
26.//C#
27.privatevoidbutton1_Click(objectsender,.EventArgse)
28.{
29.//Createinstancesoftheoperandsandresult.
30.x,y,z;
31.//Parhecontentsofthetextboxesoegers.
32.x=.Parse(textBox1.Text);
33.y=.Parse(textBox2.Text);
34.//CalltheWebAddWebservicemethodfromtheinstanceoftheWebservice.
35.z=MathServiceClass.WebAdd(x,y);
36.textBox3.Text=z.;
}
以相同方式为Button2Click事件创建事件处理并添加以下代码

38.’VisualBasic39.PrivateSubButton2_Click(ByValsenderAs.Object,ByValeAs.EventArgs)HandlesButton2.Click
40.’Createinstancesoftheoperandsandresult.
41.Dimx,y,zAsInteger
42.’Parhecontentsofthetextboxesoegers.
43.x=Integer.Parse(TextBox1.Text)
44.y=Integer.Parse(TextBox2.Text)
45.’CalltheWebMultiplyWebservicemethodfromtheinstanceoftheWebservice.
46.z=MathServiceClass.WebMultiply(x,y)
47.TextBox3.Text=z.
48.EndSub
49.
50.//C#
51.privatevoidbutton2_Click(objectsender,.EventArgse)
52.{
53.//Createinstancesoftheoperandsandresult.
54.x,y,z;
55.//Parhecontentsofthetextboxesoegers.
56.x=.Parse(textBox1.Text);


57.y=.Parse(textBox2.Text);
58.//CalltheWebAddWebservicemethodfromtheinstanceoftheWebservice.
59.z=MathServiceClass.WebMultiply(x,y);
60.textBox3.Text=z.;
}
按F5键运行应用在前两个文本框中输入值当按“添加”按钮时第 3个文本框将显示两个值当按“乘”按钮时第 3个文本框将显示两个值

注意Web服务要在服务器上例子化所以服务器需要花费段时间来处理第个Web服务在应用中按这些按钮时要切记这下面节处理这种时间滞后
异步Web服务
异步Web服务思路方法时应用在等待Web服务响应同时继续运行这使得您能够在客户端应用中有效地使用资源这种在Windows应用中实现Web服务思路方法非常节省资源
详细信息请参阅异步访问托管代码中XMLWebservices
Tags:  vb怎样调用窗体

延伸阅读

最新评论

发表评论