ASP.NET调用WCF服务

开发 后端
本文介绍ASP.NET调用WCF服务,其实,从页面开发者角度来看,调用WCF服务的操作步骤与调用一个Web服务所要求的步骤没有太大的区别。

ASP.NET调用WCF服务

现在我们来看一下分析从一个客户端ASP.NET页面中的<script>节中来使用此WFC服务呢?其实,从页面开发者角度来看,调用WCF服务的操作步骤与调用一个Web服务所要求的步骤没有太大的区别。

第一步是使用ASP.NET AJAX框架的脚本管理器控件ScriptManager中的SVC端点注册所要引用的WFC服务,如下所示:

  1. <asp:ScriptManager ID="ScriptManager1" runat="server"> 
  2. <Services> 
  3. <asp:ServiceReference Path="~/TimeService.svc" /> 
  4. </Services> 
  5. </asp:ScriptManager>  

当处理上面的标记时,ScriptManager控件将触发器额外的请求用以生成和下载指定的WCF服务的JavaScript代理类。然后,客户端页面将使用这个代理类实现相应的调用。

注意到,代理类的名字是根据WCF服务的命名空间进行命名的,具体是由ServiceContract属性的Namespace参数进行声明的。如果你保留此参数为其缺省值(即 Tempuri.org),那么该代理类的名字为Tempuri.org.TimeService。

第二步,我们使用下列JavaScript来调用前面WCF服务中定义的方法GetTimeFormat:

  1. <script language="javascript" type="text/javascript">...  
  2. function getTime()  
  3. ...{  
  4. Samples.Services.TimeService.GetTimeFormat(  
  5. "dd-mm-yyyy [hh:mm:ss]", onMethodCompleted);  
  6. }  
  7.  
  8. function onMethodCompleted(results)  
  9. ...{  
  10. $get("lblCurrentTime").innerText = results;  
  11.  
  12. }  
  13. </script> 
  14. …………  
  15. </head> 
  16. <body> 
  17. <form id="form1" runat="server"> 
  18. <asp:ScriptManager ID="ScriptManager1" runat="server"> 
  19. <Services> 
  20. <asp:ServiceReference Path="~/TimeService.svc" /> 
  21. </Services> 
  22. </asp:ScriptManager> 
  23. <div class="style3" 
  24. style="border-style: double; border-color: #008000; "> 
  25. <span class="style1"></span><span class="style1" lang="EN-US">
    ASP.NET 3.5 AJAX</span><span 
  26. class="style1">开发中调用</span><span class="style1" lang="EN-US">
    WCF</span><span 
  27. class="style1">服务<br /> 
  28. </span> 
  29. </div> 
  30. </form> 
  31. <input id="Button1" type="button" value="取得当前服务器端时间" 
    onclick="getTime()" /> 
  32. <div id="lblCurrentTime">   
  33. </div> 
  34. </body>  

这里JavaScript代理类是由静态方法组成的,它们的名字和语法声明与WCF服务端点的原型是完全相匹配的。另外,类似于ASP.NET AJAX Web服务,每一个JavaScript代理方法也支持一组额外的参数,这是一组回调函数,用于处理调用过程中可能会出现的成功和失败,在此不再赘述。

【编辑推荐】

  1. XML和ASP.NET
  2. ASP.NET中Java script中调用c#方法
  3. ASP.NET整个Postback程序处理的过程
  4. ASP.NET服务器端控件CheckBoxList
  5. 浅析ASP.NET的Membership
责任编辑:佚名 来源: IT168
相关推荐

2009-04-07 16:21:35

ASP.NETAJAXWCF

2009-07-20 17:39:36

WCF服务ASP.NET AJA

2009-07-27 17:38:30

WCF服务ASP.NET 3.5

2009-07-27 17:51:58

WCF服务ASP.NET

2009-07-21 09:53:55

ASP.NET AJAWCF服务

2009-12-08 16:59:52

WCF服务

2009-07-27 17:46:42

WCF服务ASP.NET应用程序

2010-02-26 10:30:03

ASP.NET Aja

2009-07-27 18:00:14

WCF服务与ASMX服ASP.NET

2009-07-30 12:02:14

ASP.NET中WCF

2009-04-21 09:37:50

ASP.NETAjaxJavaScript

2009-07-24 16:05:05

调用Web ServiASP.NET

2009-08-05 16:59:38

ASP.NET调用Ex

2009-07-28 15:53:43

ASP.NET Web

2009-07-28 16:03:23

ASP.NET状态服务

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 17:45:35

ASP.NET教程

2009-08-10 14:08:15

ASP.NET服务器控ASP.NET组件设计

2009-07-20 17:59:07

JavaScript调ASP.NET AJA
点赞
收藏

51CTO技术栈公众号