当前位置: 首页 > 图文教程 > 网络编程 > ASP > remote script文档(转载自微软)(七)

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP 中的 remote script文档(转载自微软)(七)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 39 ::
收藏到网摘: n/a

  文档: 检查错误
当您在服务器脚本中用 remote scripting 调用方法时,可能会遇到多种错误,包括语法错误和运行时间错误,以及调用 remote scripting 方法时的错误。remote scripting 调用机制向您提供了获知调用过程中所出现错误信息的途径。

错误处理程序根据您是进行同步或者异步调用稍微有些不一样。如果您在进行同步调用时导致错误,那么 remote scripting 机制将在浏览器中显示一条错误消息。错误文字来自于调用对象的 message 属性。有关详细信息,请参阅如下的“Remote Scripting 调用故障诊断”。

不过,如果您产生导致一个错误的异步调用,那么您可以通过指定一个错误回调函数捕获该错误,该回调函数的调用在很大程度上和普通回调函数有相似之处。

捕获异步调用中产生的错误

您可以指定自己异步 remote scripting 调用中的错误回调函数名。由于您必须传递该回调函数的函数指针,因此对于异步方法调用来说,您必须使用 JavaScript。如果您已经创建了对服务器页的对象引用,那么可以用第一个语法示例。否则可以用第二个语法示例。
callObject = ASPObject.methodName(p1, p2[,...],
   callbackFunction, errorCallbackFunction, context)

callobject = RSExecute(url, methodName, p1, p2[,...],
   callbackFunction, errorCallbackFunction, context)


有关产生对服务器方法异步调用的详细信息,请参阅异步调用 Remote Scripting 方法。

不管您进行同步还是异步调用,都可以得到关于错误条件的信息,方法是测试调用对象的属性。如果用户指定了错误回调函数,那么调用对象就被作为参数传递,就象普通回调函数参数传递一样。特别是下面的属性提供了错误信息:

status 如果远程调用失败则包含 -1。


data 包含服务器返回的 XML 格式的粗信息。这是调试的最好信息源,因为它包含了错误消息的完整文本以及服务器生成的其他消息。


message 包含 remote scripting 代理过程生成的错误消息信息(如果有的话)。message 中的错误消息不必要和 data 属性中的一样。例如,如果 ASP 页包含一条语法错误,那么关于该错误的详细消息将出现在 data 属性中,但消息属性将只包含这样一条消息──它指示用户不能调用 ASP 页上的方法。
下面的脚本示例了客户脚本中的一个错误回调函数。第一个脚本产生一个 remote scripting 调用,并指明错误回调函数。第二个脚本是错误回调函数本身。错误回调函数并不显式地对调用对象 status 属性值进行测试,因为该函数仅在调用失败时才被调用。

<SCRIPT LANGUAGE="JavaScript" for="btnSquare" event="onclick">
    rsMath = RSGetASPObject("rsadd.asp");
    number1 = txt1.value;
    context = "squaring";
    co = rsMath.square(number1,showResults,showErrors,context);

function showErrors(co){
    // 转储粗数据
    msg = "The raw data returned by the remote method call is "
    msg = msg + co.data
    alert(msg);
    // 显示友好信息
    msg = "The following error occurred during the "
    msg = msg + co.context
    msg = msg + " remote scripting call:\n"
    msg = msg + co.message
    alert(msg);
}
</SCRIPT>


Remote Scripting 调用故障诊断
找到某个 remote scripting 调用中的确切错误源并不总是一件容易的事情,因为 remote scripting 不仅涉及到客户而且涉及到服务器上的多个文件。不过,某些类型的错误属于一般性错误,而且容易发现。另外,用户可以用 remote scripting 机制的错误捕获程序获得调用过程中所出现错误的详细信息。

在某些情况下,用户不能用 remote scripting 进行任何处理,因为尚未对之进行正确的初始化。下表列出了典型的初始化错误及其可能的出错缘由。

症状 可能错因
Remote scripting 不起作用;客户页源仅包含 <APPLET> 标记。 RSEnableRemoteScripting
调用不在文档主体内。请参阅使得客户页内的 Remote Scripting 有效。
Remote scripting 不起作用;所有调用失败。 ASP 页未被调用。使用 http:// 协议(而不是 file://)。
客户端错误消息,比如当试图调用 remote scripting 方法时,出现“未定义 'MSRS' ”消息。 试图进行远程调用之前,未能成功调用 RSEnableRemoteScripting 方法。
客户端错误消息“对象不支持该属性或者方