自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF服務(wù)異步調(diào)用不同實(shí)現(xiàn)方式講解

開發(fā) 開發(fā)工具
WCF服務(wù)異步調(diào)用在實(shí)際使用中有很多比較實(shí)用的技巧,需要我們?cè)趯?shí)踐中去積累。在這里就通過(guò)一段代碼來(lái)為大家詳細(xì)解讀這一操作技巧。

我們?cè)谑褂?a >WCF服務(wù)調(diào)用的時(shí)候,可以使用多種方法來(lái)實(shí)現(xiàn),比如今天為大家介紹的是在SilverLight下使用WebRequest來(lái)對(duì)WCF服務(wù)進(jìn)行異步調(diào)用。那么,就讓我們一起來(lái)看看WCF服務(wù)異步調(diào)用的相關(guān)內(nèi)容。

UI線程如果被阻塞的話,是不能得到異步響應(yīng)結(jié)果的。關(guān)于這個(gè)問(wèn)題,有一個(gè)簡(jiǎn)單的通過(guò)WebRequest來(lái)進(jìn)行WCF服務(wù)異步調(diào)用的示例如下

  1. view plaincopy to clipboardprint?  
  2. private void Button_Click(object sender, RoutedEventArgs e)   
  3. {   
  4. Uri endpoint = new Uri(urlstr);   
  5. WebRequest request = WebRequest.Create(endpoint);   
  6. request.BeginGetResponse(new AsyncCallback(ResponseReady), request);   
  7. //“simulated” sync call : do something here to get response   
  8. }   
  9. void ResponseReady(IAsyncResult asyncResult)   
  10. {   
  11. WebRequest request = asyncResult.AsyncState as WebRequest;   
  12. WebResponse response = request.EndGetResponse(asyncResult);   
  13. using (Stream responseresponseStream = response.GetResponseStream())   
  14. {   
  15. StreamReader readStream = new StreamReader(responseStream, 
    Encoding.UTF8);   
  16. string response = readStream.ReadToEnd();   
  17. }   
  18. }   
  19. private void Button_Click(object sender, RoutedEventArgs e)  
  20. {  
  21. Uri endpoint = new Uri(urlstr);  
  22. WebRequest request = WebRequest.Create(endpoint);  
  23. request.BeginGetResponse(new AsyncCallback(ResponseReady), request);  
  24. //“simulated” sync call : do something here to get response  
  25. }  
  26. void ResponseReady(IAsyncResult asyncResult)  
  27. {  
  28. WebRequest request = asyncResult.AsyncState as WebRequest;  
  29. WebResponse response = request.EndGetResponse(asyncResult);  
  30. using (Stream responseresponseStream = response.GetResponseStream())  
  31. {  
  32. StreamReader readStream = new StreamReader(responseStream, 
    Encoding.UTF8);  
  33. string response = readStream.ReadToEnd();  
  34. }  

另外:在WCF服務(wù)異步調(diào)用實(shí)現(xiàn)中,一定要同步得到響應(yīng)的話,可以通過(guò)SilverLight調(diào)用Javascript實(shí)現(xiàn),在Javascript中使用XMLHttpRequest類即可。

【編輯推薦】

  1. 如何快速實(shí)現(xiàn)WCF單向服務(wù)
  2. WCF繼承實(shí)際應(yīng)用技巧分享
  3. WCF面向服務(wù)基本應(yīng)用準(zhǔn)則總結(jié)
  4. 如何對(duì)WCF綁定元素進(jìn)行自定義操作
  5. WCF雙工會(huì)話通道基本創(chuàng)建步驟詳解
責(zé)任編輯:曹凱 來(lái)源: CSDN
相關(guān)推薦

2010-02-25 09:13:34

WCF異步調(diào)用

2009-12-07 14:35:42

WCF異步調(diào)用

2009-12-21 14:10:26

WCF異步調(diào)用

2009-11-09 10:50:30

WCF異步調(diào)用

2009-11-06 15:54:15

WCF異步調(diào)用

2010-02-22 13:28:05

WCF異步調(diào)用

2009-12-07 14:26:47

WCF異步調(diào)用

2009-11-09 15:49:01

WCF異步調(diào)用

2022-09-27 12:01:56

Spring異步調(diào)用方式

2022-09-28 14:54:07

Spring注解方式線程池

2009-12-22 18:43:00

WCF異步調(diào)用

2009-08-21 11:24:16

C#異步調(diào)用

2009-07-01 14:23:46

JavaScript異

2009-07-01 14:37:14

JavaScript異

2010-03-01 10:26:40

WCF異步服務(wù)

2012-04-20 10:05:16

WCF

2023-08-23 13:24:00

異步編程方法

2021-03-19 10:14:28

SpringBoot項(xiàng)目異步調(diào)用

2009-10-20 16:48:30

C#委托

2024-08-12 10:13:01

點(diǎn)贊
收藏

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