用vs.net創(chuàng)建webservice+flash簡易計算器
2024-07-10 13:01:44
供稿:網(wǎng)友
'=====================
' 轉(zhuǎn)載請保留以下信息
'原創(chuàng):歐陽東杰
'http://www.cnsxml.com
'=====================
看過這個教程后,您會發(fā)現(xiàn),webservice在.net上真的很簡單!
我們要利用vs.net創(chuàng)建一個簡單的webservice,他的功能是進(jìn)行簡單四則運算.
然后創(chuàng)建一個flash來調(diào)用這個webservice
一、創(chuàng)建webservice
1. 打開 visual studio .net。
2. 創(chuàng)建一個新的 active server pages (asp) .net web 服務(wù)項目。 將該 web 服務(wù)命名為 oydjservice,并在必要時將其位置指定為一個適
當(dāng)?shù)倪\行 asp.net 的 web 服務(wù)器。
3. 將 solution 文件的名稱改為 oydjservice 以保持一致。
4. 將用 service1.asmx 創(chuàng)建的默認(rèn) web 服務(wù)的名稱更改為 oydjservice.asmx。
5. 單擊設(shè)計環(huán)境中的單擊此處切換到代碼視圖以切換到代碼視圖。
6. 定義用來封裝您的服務(wù)功能的方法。 此服務(wù)提供的每一個方法前面都必須標(biāo)有一個 webmethod 屬性。如果沒有此屬性,則服務(wù)將不公開此
方法。
備注: 并不是每一個方法都需要有 webmethod 屬性。 隱藏由公用 web 服務(wù)方法調(diào)用的某些實現(xiàn)細(xì)節(jié)是很有用的,在本地應(yīng)用程序也使用
webservice 類的情況下,也需要隱藏某些實現(xiàn)細(xì)節(jié)。 本地應(yīng)用程序可以使用任何公用類,但只有具有 webmethod 屬性的方法可以作為 web
服務(wù)遠(yuǎn)程訪問。
將下面的代碼添加到您在前面創(chuàng)建的 oydjservices 類:
程序代碼:
<webmethod()> public function add(a as integer, b as integer) as integer
return(a + b)
end function
<webmethod()> public function subtract(a as system.single, b as system.single) as system.single
return a - b
end function
<webmethod()> public function multiply(a as system.single, b as system.single) as system.single
return a * b
end function
<webmethod()> public function divide(a as system.single, b as system.single) as system.single
if b = 0
return -1
end if
return convert.tosingle(a / b)
end function
生成 web 服務(wù): 從生成菜單中,選擇生成。
可通過轉(zhuǎn)至 oydjservice.asmx web 服務(wù)頁來測試此 web 服務(wù)。 如果您的頁面放置在本地計算機(jī)上,那么 url 將是
http://localhost/oydjservice/oydjservice.asmx。
運行時 asp.net 將返回一個 web 服務(wù)幫助頁來說明此 web 服務(wù)。 此頁還讓您能夠測試不同的 web 服務(wù)方法。
二、創(chuàng)建flash來調(diào)用這個webservice
1. 新建個flash
2.拖入2個文本框(textarea),分別命名為:t1、t2
3.拖入個下拉菜單(combobox),命名為:ysf,并填加"data"屬性:"[1,2,3,4]"、"labels"屬性:"[+,-,*,÷]"
4.拖入個動態(tài)文本框,命名為:convert
5.拖入個按鈕(button),命名為:search
6.拖入個webserviceconnector 組件
7.在第一幀處編輯"動作",把以下代碼加入
程序代碼:
import mx.services.*;
//設(shè)置wsdl地址
var wsdluri = "http://localhost/oydjservice/oydjservice.asmx?wsdl";
ws = new webservice(wsdluri);
//點了按鈕后開始連接ws并計算
search.onpress=function() {
//進(jìn)行計算
switch (ysf.selecteditem.data) {
case 1:
callback = ws.add(t1.text,t2.text);
break;
case 2:
callback = ws.subtract(t1.text,t2.text);
break;
case 3:
callback = ws.multiply(t1.text,t2.text);
break;
case 4:
callback = ws.divide(t2.text,t1.text);
break;
}
//web服務(wù)成功傳回信息
callback.onresult = function(result) {
convert.text=result;
}
//web服務(wù)錯誤傳回信息
callback.onfault = function(fault) {
for(i in fault){
trace(i+ " : "+fault[i]);
}
}
}
三、演示
(因為我的webservice服務(wù)器不太穩(wěn)定,有可能不能正確顯示)
三、flash原文件下載
http://cnsxml.com/demo/webs_flash/jj.fla
本文來源于網(wǎng)頁設(shè)計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。