zoukankan      html  css  js  c++  java
  • 客户端访问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);
            }
        }
    }
  • 相关阅读:
    十二、redis常用的运维命令及注意参数
    十一,redis的主从集群
    十、redis的持久化配置
    九、Redis的消息发布和订阅
    八、Redis 中的事务
    apache、nginx、iis日志记录的各个字段内容与含义
    Pikachu-RCE
    Pikachu-SQL-Inject(SQL注入漏洞)
    Pikachu-CSRF(跨站请求伪造)
    Pikachu-XSS(跨站脚本)漏洞
  • 原文地址:https://www.cnblogs.com/timy/p/1172839.html
Copyright © 2011-2022 走看看