客户端访问WebService中如何【改变客户端访问时的方法名】

来源:互联网 发布:网络聊天通讯软件 编辑:程序博客网 时间:2024/06/07 19:36

改变客户端访问时的方法名

• 客户端无法重载方法(overload)
   –可以通过判断arguments数量来模拟重载
• 如果服务器端出现了方法重载?
 –使用WebServiceAttribute指定客户端方法名
 –使用和真正的WebService相同的做法
 – [WebMethod(MessageName = “…")]
• 并非出现重载时才能改变方法名称

------------------------------------------------------------------------------------

实例

aspx页面

<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug"><Services><asp:ServiceReference Path="Services/MethodOverloadedService.asmx" InlineScript="true" /></Services></asp:ScriptManager><input type="button" value="Get Random" onclick="getRandom()" /><input type="button" value="Get Range Random" onclick="getRandom(50, 100)" /><script language="javascript" type="text/javascript">function getRandom(minValue, maxValue){if (arguments.length != 2){MethodOverloadedService.GetRandom(onSucceeded);}else{MethodOverloadedService.GetRangeRandom(minValue, maxValue, onSucceeded);//此处调用的为自定义法方名}}function onSucceeded(result){alert(result);}</script>

MethodOverloadedService.asmx页面

<%@ WebService Language="C#" Class="MethodOverloadedService" %>using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Web.Script.Services;[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][ScriptService]public class MethodOverloadedService  : WebService{[WebMethod]public int GetRandom(){return new Random(DateTime.Now.Millisecond).Next();}[WebMethod(MessageName="GetRangeRandom")]//此处设置可在客户端调用的新方法名称public int GetRandom(int minValue, int maxValue){return new Random(DateTime.Now.Millisecond).Next(minValue, maxValue);}    }



原创粉丝点击