• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

WCF服务异步调用不同实现方式

武飞扬头像
51CTO
帮助0

我们在使用WCF服务调用的时候,可以使用多种方法来实现,比如今天为大家介绍的是在SilverLight下使用WebRequest来对WCF服务进行异步调用。那么,就让我们一起来看看WCF服务异步调用的相关内容。

UI线程如果被阻塞的话,是不能得到异步响应结果的。关于这个问题,有一个简单的通过WebRequest来进行WCF服务异步调用的示例如下

  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服务异步调用实现中,一定要同步得到响应的话,可以通过SilverLight调用Javascript实现,在Javascript中使用XMLHttpRequest类即可。

【编辑推荐】

  1. 如何快速实现WCF单向服务
  2. WCF继承实际应用技巧分享
  3. WCF面向服务基本应用准则总结
  4. 如何对WCF绑定元素进行自定义操作
  5. WCF双工会话通道基本创建步骤详解

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /news/detail/tanhbkegei
系列文章
更多 icon
同类精品
更多 icon
继续加载