A.NET 2.0 Ajax程序:处理异步调用中的异常[组图]_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

A.NET 2.0 Ajax程序:处理异步调用中的异常[组图]

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词:调用异常组图处理
黑客防线网安网讯:  在传统的Web应用程序中,处理异常相对来说比较简单——即使开发者不作任何处理,浏览器也会默认地将收到的异常信息显示在浏览器中。而对于Ajax应用程序来说,事情却并不那么简单。Ajax程...

  在传统的Web应用程序中处理异常相对来说比较简单——即使开发者不作任何处理浏览器也会默认地将收到的异常信息显示在浏览器中而对于Ajax应用程序来说,事情却并不那么简单Ajax程序“异步”的天性加上其后台运行的行为,让用户乃至开发者都很难判断某次对服务器的调用是否顺利完成,浏览器自然也对Ajax程序运行时发生的异常无能为力。

  在本章前面两节中,借助于 ASP.NET AJAX异步通信层的帮助,我们已经能够容易地从客户端向服务器端发起异步HTTP请求——在理想情况下,这自然不会有问题,也足够使用。然而,Web程序在运行中会有很多不确定性,从网络状况的不稳定到开发者的粗心大意,任何一个环节出了问题均会导致某次异步调用以失败告终。

  因此,在ASP.NET AJAX异步通信层的实现中,自然也内建了对异步调用时异常的处理方法
。还记得前面曾经介绍过的在客户端调用Web Service代理的语法吗?  [NameSpace].[ClassName].[MethodName](param1, param2,..., callbackFunction)


  在调用成功的回调函数callbackFunction的后面,我们还可以提供另一个调用失败的回调函数。这样,客户端调用Web Service代理的语法就变为:

  [NameSpace].[ClassName].[MethodName](param1, param2,..., onSucceeded, onFailed)

  注意其中粗体部分新添加的onFailed回调函数,该函数将在本次异步通信出现异常时由ASP.NET AJAX异步通信层调用。而onSucceeded的行为不会受到任何影响,仍将在成功调用后执行。

  onFailed回调函数将接受一个类型为Sys.Net.WebServiceError的参数,表示异常对象。其函数签名将类似如下所示:

  function onFailed(error) {
    // 取得异常信息并处理。
  }

  ASP.NET AJAX的客户端Sys.Net.WebServiceError类型封装了异步请求服务器时可能发生的异常,它提供了若干个只读的属性,提供了对异常信息的详细描述。Sys.Net.WebServ- iceError类型的属性如表3-1所示。

  表3-1 Sys.Net.WebServiceError类型的属性

     属  性             描  述
 
  exceptionType           获取服务器端异常的具体类型
 
  message              获取详细的异常描述信息
 
  statusCode             获取造成异常的HTTP响应的状态码
 
  stackTrace            获取服务器端异常的栈跟踪信息
 
  timedOut             获取一个布尔值,表示异常是否是由于网络连接超时造成的
 
  根据ASP.NET AJAX客户端组件的命名规范,访问属性均需要在属性名称前加上get_或set_前缀。例如,若想得到某个Sys.Net.WebServiceError类型异常的message属性值,则应该按照如下方式书写代码:

  var errorMessage = errorObj.get_message();

  下面让我们用一个简单的示例程序演示在客户端调用Web Service代理时发生异常的处理办法,以及Sys.Net.WebServiceError类型中各个属性的使用方法。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15630-1.html
网站维护教程更新时间:2012-04-05 00:04:40  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer