然后編寫Windows客戶端和Web客戶端消費該服務
2024-07-21 02:27:40
供稿:網友
為了體現xmlwebservice的可跨越異質平臺、與系統無關與設備無關與消費者的應用程序類型無關等特性。
給學生演示了用c#編寫一個windows程序來消費該服務的例子:
代碼很簡單,只是添加如下幾行而已:
private void button1_click(object sender, system.eventargs e)
{
get.service1 aa=new ws03.get.service1();
string score=aa.getscore(combobox1.selecteditem.tostring(),combobox2.selecteditem.tostring()).tostring();
label3.text="學生"+combobox1.selecteditem.tostring()+"的"+combobox2.selecteditem.tostring()+"成績是:"+score;
}
private void button2_click(object sender, system.eventargs e)
{
get.service1 aa=new ws03.get.service1();
string average=aa.getaverage(combobox1.selecteditem.tostring()).tostring();
label4.text="學生"+combobox1.selecteditem.tostring()+"的平均分是:"+average;
}
private void button3_click(object sender, system.eventargs e)
{
get.service1 aa=new ws03.get.service1();
string order=aa.getorder(combobox1.selecteditem.tostring()).tostring();
label5.text="學生"+combobox1.selecteditem.tostring()+"的排名是:第"+order+"名";
}
然后再用vb.net編寫一個asp.net程序來調用該服務:
代碼也是非常的簡單:
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
dim aa as new [get].service1
label1.text = aa.getscore(dropdownlist1.selecteditem.text, dropdownlist2.selecteditem.text)
end sub
private sub button2_click(byval sender as system.object, byval e as system.eventargs) handles button2.click
dim aa as new [get].service1
label2.text = aa.getaverage(dropdownlist1.selecteditem.text)
end sub
private sub button3_click(byval sender as system.object, byval e as system.eventargs) handles button3.click
dim aa as new [get].service1
label3.text = aa.getorder(dropdownlist1.selecteditem.text)
end sub
當然在這兩個程序里都不要忘記添加進該web引用,在本地生成soap代理,只不過有很多的工作都由vs.net這個ide給完成了。
如果是使用webmatrix來編寫asp.net消費web服務的話,可就有一番工作需要你自己完成了,這個等下次再講。