深入Atlas 系列之客户端支持 4
点击次数:24 次 发布日期:2008-11-26 11:12:37 作者:源代码网
|
源代码网推荐 源代码网推荐 ws.asmx代码: 源代码网推荐 ws.asmx文件代码: 源代码网推荐 源代码网推荐 1 <%@ WebService Language="C#" Class="ws" %> 源代码网推荐 2 源代码网推荐 3 using System; 源代码网推荐 4 using System.Web; 源代码网推荐 5 using System.Web.Services; 源代码网推荐 6 using System.Web.Services.Protocols; 源代码网推荐 7 源代码网推荐 8 [WebService(Namespace = "http://tempuri.org/")] 源代码网推荐 9 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 源代码网推荐 10 public class ws : System.Web.Services.WebService { 源代码网推荐 11 源代码网推荐 12 [WebMethod] 源代码网推荐 13 public object[] HelloWorld(int param1) { 源代码网推荐 14 return new object[] { "You passed parameter: " + param1, DateTime.Now }; 源代码网推荐 15 } 源代码网推荐 16 } 源代码网推荐 源代码网推荐 HelloWorld函数接受一个整数作为参数,返回一个数组。第一个元素为一个字符串,第二个元素为服务器当前时间。 源代码网推荐 源代码网推荐 Default.ASPx文件代码: 源代码网推荐 Default.aspx文件代码: 源代码网推荐 源代码网推荐 1 <%@ Page Language="C#" %> 源代码网推荐 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 源代码网推荐 3 源代码网推荐 4 <html xmlns="http://www.w3.org/1999/xhtml" > 源代码网推荐 5 <head runat="server"> 源代码网推荐 6 <title>Web Service Call by Sys.Net.ServiceMethod</title> 源代码网推荐 7 <script language="JavaScript"> 源代码网推荐 8 function invoke() 源代码网推荐 9 { 源代码网推荐 10 var params = { "param1" : Math.round(Math.random() * 100) }; 源代码网推荐 11 var method = new Sys.Net.ServiceMethod("ws.asmx", "HelloWorld", null); 源代码网推荐 12 源代码网推荐 13 method.invoke(params, onMethodComplete); 源代码网推荐 14 } 源代码网推荐 15 源代码网推荐 16 function onMethodComplete(result, response, userContext) 源代码网推荐 17 { 源代码网推荐 18 document.getElementById("display").innerHTML = 源代码网推荐 19 result[0] + "<br />" + "Server Time: " + result[1]; 源代码网推荐 20 } 源代码网推荐 21 </script> 源代码网推荐 22 </head> 源代码网推荐 23 <body style="font-family:Arial;"> 源代码网推荐 24 <form id="form1" runat="server"> 源代码网推荐 25 <div> 源代码网推荐 26 <atlas:ScriptManager runat="server" ID="ScriptManager1" EnableScriptComponents="true" /> 源代码网推荐 27 源代码网推荐 28 <div id="display"></div> 源代码网推荐 29 源代码网推荐 30 <input onclick="invoke();" value="Invoke" type="button" /> 源代码网推荐 31 </div> 源代码网推荐 32 </form> 源代码网推荐 33 </body> 源代码网推荐 34 </html> 源代码网推荐 源代码网推荐 在这里使用的是invoke函数的第二种调用方法,传入一个随机数作为参数,并将信息显示在页面上。效果如下: 源代码网推荐
源代码网推荐 我们打开Fiddler,看看具体的请求如何,请注意红色框出的地方: 源代码网推荐 源代码网推荐 Request: 源代码网推荐
源代码网推荐 Request Body: 源代码网推荐
源代码网推荐 是不是和我们预料的完全相同?有了JSON,我们可以非常方便地构造和表示一个客户端对象,Atlas在客户端和服务器端都提供了非常强大的JSON Serializer。这些方法可以应用在任何需要场合,即使脱离了Atlas。 源代码网推荐 源代码网推荐 到现在为止,已经将Atlas以AJAX方式调用Web Services的客户端基础代码分析完了。但是这其实还远远不够,有了客户端代码,至少还需要服务器端的支持。那么在服务器端Atlas又是如何提供以AJAX方式调用Web Services方法的功能呢? 源代码网推荐 源代码网推荐 我们将在下一篇文章中讨论这个问题。 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
