zoukankan      html  css  js  c++  java
  • 客户端代理使用细节

    客户端代理使用细节
    •函数调用完整签名
    –Invoke(arg1, …, argN, onSucceeded, onFailed, userContext)
    •回调函数完整签名
    –onSucceeded(result, userContext, methodName)
    –onFailed(error, userContext, methodName)
    •WebService级别默认属性
    –timeout
    –defaultUserContext
    –defaultSucceededCallback
    –defaultFailedCallback


    aspx
        <form id="form1" runat="server">
            
    <asp:ScriptManager ID="ScriptManager1" runat="server">
                
    <Services>
                    
    <asp:ServiceReference Path="ErrorHandling.asmx" />
                
    </Services>
            
    </asp:ScriptManager>
            
            
    <input type="button" value="getDivision" onclick="getDivision(5, 0)" />
            
    <input type="button" value="timeout" onclick="timeout()" />
            
            
    <script language="javascript" type="text/javascript">
                ErrorHandling.set_defaultFailedCallback(failedCallback);
                ErrorHandling.set_timeout(
    2000);
                    
                function getDivision(a, b)
                {
                    ErrorHandling.GetDivision(a, b);
                }
                
                function timeout()
                {
                    ErrorHandling.Timeout();
                }
                
                function failedCallback(error, userContext, methodName)
                {
                    var message 
    = String.format(
                        
    "Timeout: {0}\nMessage: {1}\nExceptionType: {2}\nStackTrace: {3}",
                        error.get_timedOut(),
                        error.get_message(),
                        error.get_exceptionType(),
                        error.get_stackTrace());
                
                    alert(
    "Error at " + methodName + "\n\n" + message);
                }
            
    </script>

        
    </form>

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

        }

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

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

    [WebService(Namespace 
    = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
    = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    public class ErrorHandling  : System.Web.Services.WebService
    {
        [WebMethod]
        
    public int GetDivision(int a, int b)
        {
            
    return a / b;
        }

        [WebMethod]
        
    public int Timeout()
        {
            Thread.Sleep(
    5000);
            
    return 0;
        }
    }
  • 相关阅读:
    C++ 引用详解
    QT的UDP组播技术
    idea快捷键
    window10安装不同版本的mysql(5.7和8.0.25)
    第2篇scrum
    结对项目:四则运算(C语言)
    个人项目wc(C语言)
    修改博客园背景,css
    第一次作业
    第4篇 Scrum 冲刺博客(专✌️团队)
  • 原文地址:https://www.cnblogs.com/timy/p/1172865.html
Copyright © 2011-2022 走看看