色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

WCF從理論到實踐(11)-異步

系列文章導(dǎo)航:

WCF從理論到實踐(1):揭開神秘面紗

WCF從理論到實踐(2):決戰(zhàn)紫禁之巔

WCF從理論到實踐(3):八號當(dāng)鋪之黑色契約

WCF從理論到實踐(4):路在何方

WCF從理論到實踐(5):Binding細(xì)解

WCF從理論到實踐(6):WCF架構(gòu)

WCF從理論到實踐(7):消息交換模式

WCF從理論到實踐(8):事件廣播

WCF從理論到實踐(9):實例模式和對象生命周期

WCF從理論到實踐(10):異常處理

WCF從理論到實踐(11)-異步

WCF從理論到實踐(12):事務(wù)

WCF從理論到實踐(13):事務(wù)投票

WCF從理論到實踐(14):WCF解決方案模板

WCF從理論到實踐(15):響應(yīng)變化

WCF從理論到實踐(16):操作重載(帶視頻+ppt+源碼)

WCF從理論到實踐(17):OO大背離(帶視頻+ppt+源碼)


本文目的

通過閱讀本文,您能了解以下知識

1) 如何在WCF中實現(xiàn)異步
2) 異步操作的優(yōu)缺點及其應(yīng)用場合
3) 總結(jié)對比各種異步操作的實現(xiàn)方式
4) 代碼不騙人,實現(xiàn)一個WCF異步小范例

本文適合的讀者

本文因為涉及一些常用的基礎(chǔ)知識和開發(fā)技巧,需要對多線程等具有一定的認(rèn)識,所以初學(xué)者可能不能立即掌握,本文適合WCF中級用戶或有其他分布式技術(shù)開發(fā)經(jīng)驗的WCF初學(xué)者

如何在WCF中實現(xiàn)異步

在ARM(異步編程模型)中,我們經(jīng)常看到BeingXXX(..),EndXXX(..)這樣的函數(shù)定義,那和他們對應(yīng)的同步方法還有XXX(..),比如FileStream對象,它既包括同步方式int Read(byte[] buffer,int offset,int count),還有IAsyState BeginRead(byte[] buffer,int offset,int count,IAsyCallback callback,Object asyState)和int EndRead(IAsyState ar)這樣的異步方式,如果我們的WCF服務(wù)程序也和FileStream設(shè)計一樣,那我們一些開發(fā)人員要跳樓了.本來一個業(yè)務(wù)方法的實現(xiàn)現(xiàn)在變?yōu)榱?個,工作量增加了2倍.為何有這樣的說法,因為這樣的架構(gòu)不是一個好架構(gòu),作為一個優(yōu)秀的框架,WCF肯定不會犯如此低級的錯誤,異步與否本來應(yīng)該是由客戶端來決定的,所以我們的服務(wù)端實現(xiàn)無需關(guān)心異步與否.下面我們來看一下如何實現(xiàn)異步,WCF中實現(xiàn)異步是一件非常簡單的事情,我們用svcutil來生成客戶端代理代碼的時候,只需添加 /async 便可以生成有異步功能的代理類了.而在IDE中,操作就更加簡單,就是在添加ServiceReference的時候,選擇高級選項,鉤選Generate Asynchronus operations,如圖:

生成異步操作的代理類下就會增加BeginXXX和EndXXX方法。比如我們示例項目中服務(wù)契約中有

[OperationContract] 
string GetData(int value); 

NET技術(shù)WCF從理論到實踐(11)-異步,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 香河县| 凤山县| 文昌市| 阜新市| 云阳县| 临江市| 永宁县| 定日县| 永修县| 内江市| 甘谷县| 奈曼旗| 五莲县| 莱阳市| 略阳县| 嘉义市| 全南县| 丁青县| 民权县| 宁夏| 田林县| 沅江市| 溧阳市| 竹山县| 康保县| 兴和县| 库伦旗| 高邮市| 阿合奇县| 夏津县| 通州区| 商城县| 大同县| 甘肃省| 绍兴县| 玉溪市| 乌兰察布市| 横峰县| 宁安市| 白城市| 邢台县|