亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Delphi > 正文

關(guān)于C#下寫(xiě)的Web Service 服務(wù)在Delphi下調(diào)用時(shí)的問(wèn)題

2024-07-21 02:18:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
關(guān)于c#下寫(xiě)的web service 服務(wù)在delphi下調(diào)用時(shí)的問(wèn)題

首先我覺(jué)得有必要把.net平臺(tái)下開(kāi)發(fā)webservice進(jìn)行一個(gè)比較全面的闡述,web service的最初產(chǎn)生是在電子商務(wù)的環(huán)境下出現(xiàn)的,有些問(wèn)題通過(guò)傳統(tǒng)的手段已經(jīng)不容易解決,比如在應(yīng)用程序之間進(jìn)行商務(wù)通信、數(shù)據(jù)交換,使用dcom、corba等二進(jìn)制機(jī)制的東西已經(jīng)行不通了,姑且不說(shuō)他們受各自平臺(tái)的限制,比如dcom(distribute common objects model)只能在windows平臺(tái)下進(jìn)行,而corba(common objects request broker architecture)又只是java平臺(tái)下的產(chǎn)物。他們要實(shí)現(xiàn)應(yīng)用程序之間的數(shù)據(jù)通信是比較困難的。

在這種背景下,web services 應(yīng)運(yùn)而生,它很好的解決了跨語(yǔ)言、跨平臺(tái)以及良好而安全的穿透企業(yè)防火墻。它的體系結(jié)構(gòu)大體上分為五個(gè)層次:

http(hypertext transfer protocol)信道下進(jìn)行數(shù)據(jù)通信
xml(extensable markup language)數(shù)據(jù)表達(dá)形式
soap(simple objects access protocol)的數(shù)據(jù)封裝
wsdl(webservices description language)的描述語(yǔ)言格式
uddi(universal description and discovery integration) 統(tǒng)一的描述、發(fā)現(xiàn)和集成
作為它的優(yōu)點(diǎn)跨語(yǔ)言、跨平臺(tái)以及良好而安全的穿透企業(yè)防火墻已經(jīng)足以使我們感到興奮了。不過(guò)它也存在需要改善的地方,比如:

http進(jìn)行數(shù)據(jù)通信存在速度較慢的情況,尤其是第一次聯(lián)結(jié)。
需要一臺(tái)web server這一額外的開(kāi)銷(xiāo)
說(shuō)了webservices的體系結(jié)構(gòu)以及其優(yōu)點(diǎn)缺點(diǎn)以后我們切入正題,那就是我們這次討論的話(huà)題:

web service 服務(wù)在delphi下調(diào)用時(shí)的問(wèn)題

閑話(huà)少說(shuō),我們用一個(gè)檢驗(yàn)webmethod的attribute的一個(gè)簡(jiǎn)單的例子進(jìn)行闡述:它是完成一次從客戶(hù)a轉(zhuǎn)帳到b的一個(gè)簡(jiǎn)單商務(wù)過(guò)程。

首先我們?cè)?net framework1.1下創(chuàng)建一個(gè)webservice,這時(shí)候.net會(huì)幫我們自動(dòng)創(chuàng)建一個(gè)web應(yīng)用

我們需要?jiǎng)?chuàng)建一個(gè)類(lèi)attributetest,它是在命名空間namespace attributetesting下的,那么這個(gè)類(lèi)它將自動(dòng)繼承了它的基類(lèi) system.web.services.webservice,需要支出的時(shí),我們可以對(duì)這個(gè)web應(yīng)用類(lèi)設(shè)置其webserviceattribute,其中基本屬性包括description 和namespace

[webserviceattribute(namespace="http://www.isdoo.com/services",

description="hello ansel,this is a testing web service!")]

public class attributetest : system.web.services.webservice
{

[webmethodattribute(description="描述信息:繼承了count方法,并且對(duì)名稱(chēng)進(jìn)行重載。執(zhí)行的是把錢(qián)從a用戶(hù)轉(zhuǎn)帳到b用戶(hù)......",
//messagename="changing messagename",
bufferresponse=true,
cacheduration=1000,
enablesession=true,
transactionoption=transactionoption.requiresnew)]
public string transmoney(double money)
{
try
{
contextutil.enablecommit();//transaction only used to database operation!
moneyintoa(money);
moneyoutfromb(money);
contextutil.setcomplete();
return "transaction successful,total "+money.tostring();
}
catch( exception e)
{
contextutil.setabort();
return "transaction failed! /n/r "+e.message;
}
}
private void moneyintoa(double money)
{
sqlcommand sqlcom = new sqlcommand("update budget set money=money+"+money.tostring()+" where name='a'");
databaseaccess mydatabase = new databaseaccess();
sqlcom.connection=mydatabase.getconnection();
sqlcom.connection.open();
sqlcom.executenonquery();
sqlcom.connection.close();
//throw new exception("operation failed when transfer money into a!");
}

private void moneyoutfromb(double money)
{
sqlcommand sqlcom = new sqlcommand("update budget set money=money-"+money.tostring()+" where name='b'");
databaseaccess mydatabase = new databaseaccess();
sqlcom.connection=mydatabase.getconnection();
sqlcom.connection.open();
sqlcom.executenonquery();
sqlcom.connection.close();
//throw new exception("operation failed when transfer money from b!");
}

}

其中我們需要特別注意的是,webmethodattribute,這也是我們這一次需要講述的重點(diǎn)內(nèi)容,只要給一個(gè)方法加上[webmethodattribute],哪怕里面沒(méi)有任何屬性,那么webservice就會(huì)把這個(gè)方法暴露(expose)給了客戶(hù)段調(diào)用者.下面我們講述一下它的6個(gè)屬性,其中包括2個(gè)描述性的信息屬性,4個(gè)功能屬性

描述性的信息屬性:

description
messagename
4個(gè)功能性屬性:

bufferresponse
cacheduration
enablesession
transactionoption
其中我們需要注意messagename這個(gè)屬性它delphi調(diào)用.net平臺(tái)下開(kāi)發(fā)的webservice的時(shí)候,如果你設(shè)置了messagename這個(gè)attribute的話(huà),那么客戶(hù)端調(diào)用時(shí)會(huì)報(bào)錯(cuò)誤。這也許是一個(gè)bug,或許后面的版本會(huì)解決這個(gè)問(wèn)題。至于這幾個(gè)屬性的具體功能就不再這里詳細(xì)描述了。大家可以去看看相關(guān)的書(shū)籍。

下面我把delphi調(diào)用webservice的步驟列舉一下:

首先如果你只是開(kāi)發(fā)調(diào)用客戶(hù)端,那么你只需要?jiǎng)?chuàng)建一個(gè)普通的應(yīng)用程序即可,然后需要你做的是,在工具欄webservices下面找到soaphttpclient這個(gè)控件,然后把它放在你的客戶(hù)端應(yīng)用窗體上;

其次就是你需要設(shè)置這個(gè)soaphttpclient的屬性u(píng)rl或者wsdl,這個(gè)內(nèi)容就是你的webservice的服務(wù)地址

比如我們當(dāng)前例子的服務(wù)地址是:http://localhost/attributetesting/attributetesting.asmx

如果你想輸入wsdl那么就是http://localhost/attributetesting/attributetesting.asmx?wsdl

這樣就完成了控件設(shè)置;

然后我們需要引入服務(wù)器端的wsdl,你可以手工來(lái)做,也可以用delphi提供的webservices importer功能來(lái)引入。

最后你只需要對(duì)引入的wsdl的接口進(jìn)行調(diào)用即可。在這里我們的對(duì)應(yīng)代碼是:

procedure tform1.bitbtn1click(sender: tobject);
var
aa:attributetestsoap;//這個(gè)就是wsdl下的類(lèi)接口對(duì)象
msg:widestring;
bb:double;
begin
//httprio2 其實(shí)就是所謂的代理類(lèi),它負(fù)責(zé)進(jìn)行數(shù)據(jù)傳輸發(fā)送request和接受response的
aa:=httprio2 as attributetestsoap;

bb:=100.00;
msg:=aa.transmoney(bb);//這就是調(diào)用web服務(wù)所暴露給我們的web服務(wù)方法webmethod
showmessage(msg);
end;


ok! that's all!


商業(yè)源碼熱門(mén)下載www.html.org.cn

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

欧美成人嫩草网站| 91精品免费在线观看| 成人av高清在线| 欧美成人高清手机在线视频| xxxxx在线观看| 国产一区二区三区四区五区美女| 国产精品一区不卡| 亚洲美女网站| 久久mv成人精品亚洲动漫| 国产传媒免费在线观看| 日韩欧美的一区| 国产在线播放91| 亚洲天堂手机在线| 国产精品专区第二| 欧美日韩视频一区二区三区| 99精品国自产在线| 天天综合网天天综合| 国产福利在线导航| 午夜影院韩国伦理在线| 欧美最猛性xxxxx(亚洲精品)| 天天操精品视频| 伊人av免费在线观看| 中文av资源在线| 91精品一区二区三区综合在线爱| 日韩少妇中文字幕| 中文字幕一区二区免费| 色综合视频一区二区三区日韩| 在线观看xxx| 性做久久久久久| 97超碰欧美中文字幕| 亚洲精华国产| 欧美老女人在线视频| 丝袜美女写真福利视频| 国产在线播放av| 蜜臀av一区二区在线观看| 97久久夜色精品国产| 成人av电影免费在线播放| 天天av天天翘| 一本久道久久综合无码中文| 中文字幕中文字幕一区三区| 99re8精品视频在线观看| 成年女人免费毛片视频永久| 91福利国产在线观看菠萝蜜| 国产黄色在线观看| 欧美日韩国产传媒| 天堂在线资源库| 国产免费视频| 成人一区二区三区| 奇米影视7777精品一区二区| 中文字幕网站在线观看| 久久这里都是精品| 99在线高清视频在线播放| 亚洲最新无码中文字幕久久| 国产真人真事毛片视频| 超碰免费在线观看| 久久精品亚洲精品国产欧美kt∨| 人人网欧美视频| 每日更新成人在线视频| 男人的天堂视频在线| 亚洲伊人伊色伊影伊综合网| 日韩在线一二三区| 2020中文字字幕在线不卡| 91国产在线免费观看| 国产成人免费视频精品含羞草妖精| 91九色porn蝌蚪| 视频在线观看99| 精品国产乱码久久久久久久久| 怡红院av亚洲一区二区三区h| 一区二区三区四区激情| 欧美日韩国产综合一区二区| 日本丶国产丶欧美色综合| 2020天天操| 国产一区二区波多野结衣| 男人添女人下部高潮视频在线观看| 亚洲美女黄色片| 国产欧美综合色| 91小视频在线| 亚洲大胆人体av| 99热免费精品在线观看| 成人爽a毛片一区二区| 色婷婷av一区二区三区之一色屋| 国产精品一区久久| 91国产丝袜在线放| 欧美日韩亚洲色图| 香蕉成人久久| 成人毛片视频网站| 伊人性伊人情综合网| 97se视频在线观看| 一区二区三区高清视频在线观看| 中文字幕永久在线不卡| 国产韩日精品| 亚洲色大成网站www| 成人国产精品色哟哟| 国产一二区在线观看| www.国产在线观看| 欧美草草影院在线视频| 色女人综合av| 成人羞羞视频在线看网址| 午夜精品中文字幕| 成人中文字幕+乱码+中文字幕| 国产51自产区| 一道精品视频一区二区三区图片| 午夜dj在线观看高清视频完整版| 综合精品久久久| gratisvideos另类灌满| 成人福利免费网站| 国产精品免费无遮挡无码永久视频| 韩国av一区二区三区在线观看| 日韩电影大全免费观看2023年上| 中国黄色片免费看| 国产精品国产馆在线真实露脸| 三级av在线免费观看| 国产乱码精品一区二区三区精东| 国内精品久久久久久中文字幕| 欧美日韩大片一区二区三区| 9.1麻豆精品| 亚洲视频一区在线观看| 国产精品国产三级国产普通话蜜臀| 麻豆九一精品爱看视频在线观看免费| 久久天天躁狠狠躁夜夜躁2014| 中文字幕一区二区三区在线观看| jizzjizz日本护士视频| 中文字幕一区久久| 欧美精品免费看| 色久优优欧美色久优优| 蜜桃精品噜噜噜成人av| 天天操天天爱天天干| 欧美精品videossex变态| 日本精品一区二区三区在线| dj大片免费在线观看| 国产欧美日韩精品丝袜高跟鞋| 好吊视频在线观看| 性欧美xxxx交| 欧美精品影院| 日韩精品高清在线观看| 日本一区二区三区dvd视频在线| 亚洲综合资源| 亚洲奶大毛多的老太婆| 亚洲一区二区三区蜜桃| 欧美 亚洲 另类 激情 另类| 日韩欧美一级在线| 亚洲精品一线二线三线无人区| 成人美女在线视频| 黑鬼狂亚洲人videos| 91精品国产乱码久久久张津瑜| 国产精品免费入口| 欧美日韩精品一区二区三区蜜桃| 丰满岳乱妇一区二区三区| 欧美黑人性受xxxx精品| 黄色录像二级片| 日韩精品一级中文字幕精品视频免费观看| 欧美人体一区二区三区| 男捅女免费视频| xvideos成人免费中文版| 国语自产精品视频在线看抢先版图片| 岛国av在线网站| 丁香啪啪综合成人亚洲小说| 日本中文字幕在线免费观看| 国产欧美日韩在线播放| 婷婷六月国产精品久久不卡| 神马影院午夜我不卡| 亚洲人成色77777| 国产清纯白嫩初高中在线观看性色| 日韩三区在线观看| 91小仙女jk白丝袜呻吟| 久久久久久久综合狠狠综合| 国产夫妻自拍一区| 亚洲每日在线| 亚洲国产欧美另类丝袜| 四虎影视永久免费观看| 精品国产乱码久久久久久1区2匹| 免费人成短视频在线观看网站| 天天影视综合| 欧美性xxxx69| 先锋在线资源一区二区三区| 日韩片在线观看| 中文字幕视频在线观看| 四虎影视最新地址| 夜夜嗨av色综合久久久综合网| 久久视频在线视频| 日韩一二区视频| 欧美日韩亚洲一区在线观看| 欧美视频成人| 91美女视频在线| 99久久精品国产一区二区三区| 欧美另类videos| 亚洲男女自偷自拍图片另类| av黄色一级片| 麻豆视频国产| 亚洲精品一区二区三区蜜桃久| 91在线视频在线| 中文字幕第一页av| 91免费精品国自产拍在线不卡| 又黄又爽又色的视频| 杨钰莹一级淫片aaaaaa播放| 欧美男人天堂网| 精品美女www爽爽爽视频| 欧美成人午夜视频| a'aaa级片在线观看| 日韩欧美不卡在线| 香蕉成人啪国产精品视频综合网| 国产成人亚洲综合a∨猫咪| 一道精品视频一区二区三区男同| 中文字幕a在线观看| 欧美色视频一区二区三区在线观看| 老司机精品视频在线观看6| 国产一区二区av| 精品88久久久久88久久久| 毛片毛片女人毛片毛片| 免费黄色a级片| 视频一区免费观看| 中文字幕av一区二区三区四区| 精品资源在线看| 精品国产91久久久久久| 欧美日韩精品免费| 亚洲女人视频| ·天天天天操| 精品1区2区在线观看| 欧美性xxxx18| av电影成人| 欧美激情精品久久久六区热门| 日本久久二区| 欧美极品美女电影一区| www.久久| 成人亚洲激情网| 色视频成人在线观看免| 久久久无码精品亚洲日韩按摩| 欧美激情一级二级三级在线视频| 国产乱人乱偷精品视频a人人澡| 另类色图亚洲色图| 伊人网在线综合| 欧美精品一区三区在线观看| 久久久久国产免费| 久久久久99精品成人片试看| 成人女人a毛片在线看| 91玉足脚交嫩脚丫在线播放| 亚洲欧美激情一区二区三区| 在线电影欧美日韩一区二区私密| 久草综合在线观看| 亚洲午夜激情| 中文字幕 欧美激情| 久久中国妇女中文字幕| 国产美女免费视频| 久久91亚洲精品中文字幕| 亚洲精选久久| 久久久久久久久久久久久久久久久久久久| 日韩精品中文字幕一区| 免费av片风间由美在线| 波多野吉衣中文字幕| 一个人在线视频免费观看www| 97色在线观看免费视频| 欧洲av在线播放| 久久亚洲国产精品| 国产小视频你懂的| 国产日韩欧美在线观看| 亚洲一区二区国产| 欧美一区二区在线看| 国严精品久久久久久亚洲影视| 日韩video| 精品人妻少妇AV无码专区| www.成人.com| av电影免费| 六月婷婷七月丁香| 福利地址发布页| 精品视频在线播放一区二区三区| 男女啪啪的视频| 中文字幕av一区二区三区谷原希美| 成人写真视频| 亚洲乱码国产乱码精品精软件| 一本加勒比hezyo黑人| 亚洲小说区图片区都市| 国产亚洲精品久久久久久牛牛| vam成人资源在线观看| 婷婷久久青草热一区二区| 麻豆成人在线| 成人看片毛片免费播放器| 超碰caoprom| 91精品国产色综合久久ai换脸| 欧美变态口味重另类| jizz视频播放器| 国产在线不卡精品| 国产精品视频在线播放| 欧美成人三级在线播放| 欧美大尺度激情区在线播放| 日本wwwcom| 欧美二区在线观看| 亚洲区一区二区| 色悠久久久久综合先锋影音下载| 又长又粗又大又爽| 欧美日韩一区综合| 99久久99久久久精品齐齐| thepron国产精品| 国产精一区二区三区| 日韩欧美专区在线| 日韩成人精品| 日韩有吗在线观看| 免费男女羞羞的视频网站中文子暮| 精品人妻在线视频| 国产亚洲欧美日韩精品一区二区三区| 国产精品成人av在线| 欧美久久久久久久久中文字幕| 国产精品二三区| 国产视频中文字幕| 福利小视频在线观看| 蜜臀精品一区二区三区在线观看| 国产v综合v亚洲欧| 清纯唯美日韩| 欧美艾v福利视频在线观看| 亚洲av人人澡人人爽人人夜夜| 亚洲美女区一区| free性m.freesex欧美| 两个人看的在线视频www| 久久五月精品| 国产精品中文字幕欧美| 日韩精品视频在线观看视频| 国产精久久久| 国内精品麻豆美女在线播放视频| 国产精品久久久久久久久免费丝袜| 老牛影视一区二区三区| 国产又猛又黄的视频| 国产视频1区| 色综合导航网站| 国产日韩欧美夫妻视频在线观看| 丝袜美腿高跟呻吟高潮一区| 福利社在线免费视频| 国产精品815.cc红桃| 水蜜桃久久夜色精品一区的特点| 伊人情人综合网|