成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

老鳥談WCF回調(diào)使用方法

開發(fā) 后端
這里就WCF回調(diào)方法做出了簡單的分析,WCF回調(diào)方法需要更新與異步調(diào)用結(jié)果相關(guān)的界面,希望大家看了會有幫助。

經(jīng)過長時(shí)間學(xué)習(xí)WCF,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。由于WCF回調(diào)方法并非運(yùn)行在主線程中,如果WCF回調(diào)方法需要更新與異步調(diào)用結(jié)果相關(guān)的界面,例如本例中的lbMessage控件,則需要將回調(diào)的調(diào)用封送(Marshal)到當(dāng)前主程序界面的同步上下文中。我們可以使用 SynchronizationContext以及它的SendOrPostCallback委托,對調(diào)用進(jìn)行封送:

  1. public ExplorerClientForm()   
  2. {   
  3. InitializeComponent();   
  4. m_synchronizationContext = SynchronizationContext.Current;   
  5. }   
  6. private SynchronizationContext m_synchronizationContext;  

則WCF回調(diào)方法修改為:

  1. //callback method   
  2. void OnTransferCompleted(IAsyncResult result)   
  3. {   
  4. Stream stream = m_service.EndTransferDocument(result);   
  5. result.AsyncWaitHandle.Close();   
  6.  
  7. SendOrPostCallback callback = delegate   
  8. {   
  9. lbMessage.Text = string.Format("The file {0} had been transfered sucessfully.",   
  10. m_doc.FileName);   
  11. };   
  12. m_synchronizationContext.Send(callback,null);   
  13. }   

#T#在調(diào)用異步方法時(shí),由于對BeginTransferDocument()和EndTransferDocument()方法的調(diào)用可能會在不同的方法體中,因而我將服務(wù)代理對象定義為private字段。如果希望將服務(wù)對象定義為一個局部變量,可以在調(diào)用BeginTransferDocument() 方法時(shí),將代理對象傳遞到方法的asyncState參數(shù)中,然后在調(diào)用EndTransferDocument()方法之前,通過 IAsyncResult獲得準(zhǔn)確的服務(wù)代理對象:

  1. m_service.BeginTransferDocument(m_doc,OnTransferCompleted,m_service); 

將m_service作為asyncState對象傳入之后,在調(diào)用EndTransferDocument()方法之前,就可以根據(jù)它先獲得服務(wù)代理對象:

  1. IDocumentsExplorerService m_service = result.AsyncState as IDocumentsExplorerService;   
  2. Stream stream = m_service.EndTransferDocument(result);   
  3. //rest codes   
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2010-03-02 14:12:30

WCF枚舉類型

2009-11-09 15:58:07

WCF回調(diào)方法

2010-02-23 11:06:16

WCF可信賴會話

2010-03-01 17:39:07

WCF Address

2009-11-16 17:35:38

PHP數(shù)組排序

2010-03-02 16:58:11

AJAX WCF服務(wù)項(xiàng)

2009-11-02 18:03:25

Oracle用戶表空間

2009-12-22 19:00:08

WCF回調(diào)

2009-11-16 10:25:40

PHP上傳文件

2009-11-09 17:04:20

Visual Stud

2011-02-24 13:09:10

FireFTP

2012-01-13 09:55:54

jQuery

2009-11-04 13:33:13

ADO.NET Dat

2009-12-22 16:36:38

WCF重載

2009-12-24 16:36:06

WPF InkCanv

2009-10-30 11:07:04

VB.NET Syst

2009-12-28 13:28:03

WPF視頻

2010-05-28 19:12:09

MySQL使用方法

2017-08-18 14:01:44

大數(shù)據(jù)dataWrangle

2011-04-08 10:43:44

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人黄色av网址 | 欧美久久久网站 | 亚洲成av| 久在线视频| 日韩看片 | 国产一区在线免费观看视频 | 日韩一区二区三区在线观看 | 久久久国产一区二区三区 | 久久久成人免费视频 | 国产美女在线精品免费 | 国产精品免费在线 | 国产精品一区二区电影 | 久久精品一区二区视频 | 亚洲免费人成在线视频观看 | 久久99这里只有精品 | 日韩中文字幕一区二区 | 精品日韩一区二区 | 中文字幕国产一区 | 亚洲天堂一区 | av中文字幕在线观看 | 99视频在线 | 国产精品资源在线 | 一区二区三区四区免费在线观看 | 涩爱av一区二区三区 | 激情国产在线 | 超碰97免费在线 | av喷水| 精国产品一区二区三区四季综 | 国产成人一区二区三区精 | 精品国产精品三级精品av网址 | 久久99久久99 | 国产黄色精品在线观看 | 国产成人免费视频网站高清观看视频 | 91一区二区三区在线观看 | 亚洲精品性视频 | 国产精品成人在线播放 | a爱视频| 免费观看黄色片视频 | 波多野结衣先锋影音 | 国产成人在线播放 | 国产午夜精品一区二区三区嫩草 |