欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/7/14 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 改变客户端访问时的方法名 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
•客户端无法重载方法(overload)
–可以通过判断arguments数量来模拟重载
•如果服务器端出现了方法重载?
–使用WebServiceAttribute指定客户端方法名
–使用和真正的WebService相同的做法
–[WebMethod(MessageName = “…")]
•并非出现重载时才能改变方法名称


aspx
    <form id="form1" runat="server">
        
<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>
    
</form>
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);
    }
    
}
WebServervice方法中使用[WebMethod(MessageName="GetRangeRandom")]就可以改变客户端访问时使用的方法名,JavaScript不支持重载,如果服务器端使用了重载,就一定要改变重载的方法客户端访问时的方法名,否则的话在JavaScript由于不支持重载,最后生成的方法就会覆盖前面生成的方法

转载于:https://www.cnblogs.com/timy/archive/2008/04/30/1178263.html

总结

以上是生活随笔为你收集整理的改变客户端访问时的方法名的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。