WebService客户端调用错误处理

摘要:
在错误处理调用期间可以提供额外的错误回调函数,包括服务器抛出的超时和异常超时。超时只能在WebService级别或PageMethods对象和Sys.Net.WebServiceError-timeout、message、exceptionType、stackTrace属性aspx˂asp:
错误处理
•调用时可以提供一个额外的错误回调函数
•包括超时和服务器端抛出的异常
•超时只能设置在WebService级别
–或者设置在PageMethods对象上
–无法在每个MethodCall时指定
•Sys.Net.WebServiceError
–timedout、message、exceptionType、stackTrace属性


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">
            function getDivision(a, b)
            {
                ErrorHandling.GetDivision(a, b, 
null, failedCallback);
            }
            
            function timeout()
            {
                ErrorHandling.set_timeout(
2000);
                ErrorHandling.Timeout(
null, failedCallback);
            }
            
            function failedCallback(error)
            {
                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(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;
    }
}

免责声明:文章转载自《WebService客户端调用错误处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MFC修改视图CView的背景颜色Java学习|HTTP请求头下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python Selenium+phantomjs 小技巧

1、元素模糊定位 如抓取下面列表: elements = doc("li[id^='result_']") 2、元素精确定位      elements =doc("div[class='a-fixed-left-grid-inner']") eq索引从0开始 elements =doc("div[class='a-fixed-left-grid-i...

window.open()不同源页面通信

父页面 运行端口:8080 <template> <div> <el-button @click="open()">发送消息给子页面</el-button> </div> </template> <script> export default{ na...

WPF 纯代码生成界面(不使用XAML)

    对于编写 WPF 应用程序,只是用代码进行开发而不使用任何 XAML 不是常见的方式(但是仍然完全支持)。只使用代码进行开发的明显缺点是,有可能会使用编写 WPF 应用程序成为极端乏味的工作。 WPF 控件没有包含参数化的构造函数,因此即使为窗体添加一个简单的按钮也需要编写几行代码。只使用代码进行开发的一个潜在的优点是可以随意定制应用程序。例如,可...

DataSet分页

主要利用DataSet的筛选数据的方法 DataAdapter用Fill方法填充DataSet的时候把所取的整个记录加入到DataSet 例如:     MyAdapter.Fill(DataSet,TableName); 有时候并不需要将整个查询数据都导入DataSet,真正需要的只是数据的一部。Fill的另一种方法可以满足这种需要。     MyAda...

WPF的依赖属性

一、什么是依赖属性 依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。 将所有的属性都设置为依赖属性并不总是正确的解决方案,具体取决于其应用场景。有时,使用私有字段实现属性的典型方法便能满足要求。MSDN中给出了下面几种应用依赖属性的场景: 1. 希望可在样式中设置属性。 2...

android中实现自定义广播

自定义广播分两个步骤:1、发送广播 2、接收广播 一、先看如何接收广播: 我使用的是Android Studio,File->New->Other->Broadcast Receiver,先创建一个广播类,这个创建的类会自动帮我们继承BroadcastReceiver类,接收广播,需要继承这个类 MyReceiver.java packa...