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);
        }
    }
  • 相关阅读:
    Map之类的东西
    [待码][BZOJ1858]SCOI2010序列操作 jzyzoj1655
    Linux 系统时间和硬件时间
    自动化运维之puppet的学习(如何找到你需要的模块)
    linux 搭建hexo博客
    坚持不懈之linux haproxy的配置文件关键字查询手册
    坚持不懈之linux haproxy 配置文件 详情
    Linux Haproxy 安装和部署
    linux 破解版confluence安装
    zookeeper 简介
  • 原文地址:https://www.cnblogs.com/timy/p/1178280.html
Copyright © 2011-2022 走看看