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

詳細介紹WCF回調返回值說明

開發 后端
為每一個軟件行業的從業人員,無論是開發人員、項目經理、還是測試人員,也要不斷適應這個趨勢,我認為WCF回調只會使我們的工作更簡單和更輕松。

客戶端實現WCF回調時,如果回調函數有返回值,那么該返回值類型只能為基本類型,不能為接口類型,否則服務在回調時系統無響應,***超時,不報任何錯誤。所以大家有communitysever的可以從里面獲得然后反編譯為自己所用,沒有的就到網絡上搜下吧,有許多資源呢!

由于WCF回調方法并非運行在主線程中,如果WCF回調方法需要更新與異步調用結果相關的界面,例如本例中的lbMessage控件,則需要將回調的調用封送(Marshal)到當前主程序界面的同步上下文中。我們可以使用 SynchronizationContext以及它的SendOrPostCallback委托,對調用進行封送:#t#

利用異步方式執行服務操作,使得服務在執行過程中不會阻塞主線程,當方法執行完成后,通過AsyncCallback回調對應的方法,可以通知客戶端服務執行完畢。例如:

  1. //Invoke it Asynchronously     
  2. m_service.BeginTransferDocument(m_doc,OnTransferCompleted,null);     
  3. //Do some work;     
  4. //callback method     
  5. void OnTransferCompleted(IAsyncResult result)     
  6. {     
  7. Stream stream = m_service.EndTransferDocument(result);     
  8. result.AsyncWaitHandle.Close();     
  9. lbMessage.Text = string.Format("The file {0} had been transfered sucessfully.",     
  10. m_doc.FileName);     
  11. }  

在調用BeginTransferDocument()方法之后,主線程不會被阻塞,仍然可以繼續執行其它工作。而當服務方法執行完畢之后,會自動調用WCF回調方法,執行方法中的內容。上述實現存在一個問題,就是對于lbMessage控件的操作。由于WCF回調方法并非運行在主線程中,如果回調方法需要更新與異步調用結果相關的界面,例如本例中的lbMessage控件,則需要將回調的調用封送(Marshal)到當前主程序界面的同步上下文中。我們可以使用 SynchronizationContext以及它的SendOrPostCallback委托,對調用進行封送:

  1. public ExplorerClientForm()  {  InitializeComponent();  m_synchronizationContext = SynchronizationContext.Current;  } 
  2.  private SynchronizationContext m_synchronizationContext;  }
責任編輯:chenqingxiang 來源: 機械工業出版社
相關推薦

2009-12-08 16:09:02

WCF消息

2009-12-07 11:11:41

WCF返回值

2010-03-02 16:50:34

WCF返回值

2009-12-25 17:21:13

ADO返回值

2009-11-09 17:30:20

WCF元數據

2009-12-22 15:02:40

WCF限流

2009-12-07 18:06:46

WCF框架

2009-12-08 09:00:14

WCF線程

2009-12-22 19:00:08

WCF回調

2009-12-08 17:34:25

WCF的配置

2009-11-09 13:47:22

WCF Stream操

2010-02-22 16:16:14

Python語法

2009-11-09 15:58:07

WCF回調方法

2010-03-02 10:54:42

WCF回調操作

2009-12-22 14:31:27

WCF序列化依賴屬性

2009-12-08 09:21:13

WCF數據量

2010-03-01 15:12:53

WCF回調契約

2009-11-06 16:13:45

WCF回調

2009-12-21 09:39:50

Oracle 存儲過程

2010-02-22 17:54:07

Python工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩三级| 欧美日韩国产一区二区三区 | 99精品一级欧美片免费播放 | 亚洲欧美日韩精品久久亚洲区 | 国产精品麻 | 成人免费观看男女羞羞视频 | 日本精品免费 | 色综合色综合 | 欧美日韩精品中文字幕 | 操夜夜| 人碰人操 | 天天综合久久 | 欧美a区| 蜜桃臀av一区二区三区 | www.日本三级 | av免费在线观看网站 | 人人射人人插 | 国产精品国产三级国产aⅴ中文 | 久久久久久久国产 | 国产第一页在线播放 | 日韩在线 | 天天干狠狠操 | 九九久久在线看 | 国产精品1区 | 日本在线免费看最新的电影 | 国产精产国品一二三产区视频 | 精品国产免费一区二区三区五区 | 伊人精品久久久久77777 | 天堂av影院 | 91精品国产综合久久久久久首页 | 天天爽综合网 | 婷婷成人在线 | 亚洲精品视频在线看 | 2020国产在线| 欧美日韩一区二区三区四区五区 | 久久久久久亚洲 | 欧美福利影院 | 蜜桃av人人夜夜澡人人爽 | 伊人亚洲 | 欧洲高清转码区一二区 | 亚洲精品一区二区在线观看 |