zoukankan      html  css  js  c++  java
  • 客户端代理浅析

    客户端代理浅析
    •每个Service类对应客户端一个代理类
    •每个代理类为Sys.Net.WebServiceProxy类的子类
    •代理类的每个方法均对应一个类的静态方法
    •最终由Sys.Net.WebServiceProxy.invoke方法发出请求

    aspx
        <form id="form1" runat="server">
            
    <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug" />
            
            
    <input type="button" value="Get Range Random" onclick="getRandom(50, 100)" />
            
            
    <script language="javascript" type="text/javascript">
                function getRandom(minValue, maxValue)
                {
                    Sys.Net.WebServiceProxy.invoke(
                        
    "Services/UseHttpGetService.asmx",
                        
    "GetRangeRandom",
                        
    true,
                        { 
    "minValue" : minValue,
                          
    "maxValue" : maxValue},
                        onSucceeded,
                        
    null,
                        
    null,
                        
    -1);
                }
                
                function onSucceeded(result)
                {
                    alert(result);
                }
            
    </script>
        
    </form>
    没有将ScriptManagerInlineScript="true",不是不使用客户端代理.直接使用Sys.Net.WebServiceProxy.invoke方法调用WebService。

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

    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 UseHttpGetService  : System.Web.Services.WebService
    {
        [WebMethod]
        
    public int GetRandom()
        {
            
    return new Random(DateTime.Now.Millisecond).Next();
        }

        [WebMethod]
        [ScriptMethod(UseHttpGet
    =true)]
        
    public int GetRangeRandom(int minValue, int maxValue)
        {
            
    return new Random(DateTime.Now.Millisecond).Next(minValue, maxValue);
        }
    }
  • 相关阅读:
    Python对JSON的操作 day3
    Python 文件操作 day2
    Python 字符串常用方法 day2
    Python字典 day2
    Python基础学习(day1)
    Excel图表转成图片
    hadoop —— MapReduce:统计访问所有独立IP个数 、 统计网站子目录访问次数 、 统计每个IP访问的子目录数
    Java -D命令对应的代码中获取-D后面的参数 和 多个参数时-D命令的使用
    hadoop —— teragen & terasort
    C# 计时器 以“天时分秒毫秒”形式动态增加显示
  • 原文地址:https://www.cnblogs.com/timy/p/1178280.html
Copyright © 2011-2022 走看看