客户端访问WebService

本文介绍如何创建和使用ASP.NET WebService。主要内容包括:编写WebService方法、添加自定义属性标记、客户端如何调用WebService及其实现过程。
服务器端释放WebService方法
•编写一个普通的ASP.NET WebService
•为WebService类添加自定义属性标记
–ScriptServiceAttribute
•释放WebService方法
–访问级别为public
–使用WebMethodAttribute进行标记
•为页面中的ScriptManager(Proxy)引入asmx文件

客户端访问WebService
•[Namespaces.]ClassName.MethodName
•依次传入参数
•传入一个方法做为成功后的回调函数
•即使没有返回值也会调用回调函数

客户端访问WebService基础
aspx
    <form id="form1" runat="server">
        
<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug">
            
<Services>
                
<asp:ServiceReference Path="WebServiceFoundation.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)
                {
                    Sample.WebServiceFoundation.GetRandom(getRandomSucceeded);
                }
                
else
                {
                    Sample.WebServiceFoundation.GetRangeRandom(minValue, maxValue, getRandomSucceeded);
                }
            }
            
            function getRandomSucceeded(result)
            {
                alert(result);
            }
        
</script>
    
</form>

cs
    protected void Page_Load(object sender, EventArgs e)
    {

    }

WebServiceFoundation.asmx
<%@ WebService Language="C#" Class="Sample.WebServiceFoundation" %>

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

namespace Sample
{
    [WebService(Namespace 
= "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    
public class WebServiceFoundation : System.Web.Services.WebService
    {
        [WebMethod]
        
public int GetRandom()
        {
            
return new Random(DateTime.Now.Millisecond).Next();
        }

        [WebMethod]
        
public int GetRangeRandom(int minValue, int maxValue)
        {
            
return new Random(DateTime.Now.Millisecond).Next(minValue, maxValue);
        }
    }
}

转载于:https://www.cnblogs.com/timy/archive/2008/04/27/1172839.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值