动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

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

作者来源: 
阅读 2268 人次 , 2000-8-10 

文档: 检查错误
当您在服务器脚本中用 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 方法。
客户端错误消息“对象不支持该属性或者方法,”特别显示出和 .HTM 文件不匹配的行号。 找不到代理对象 (Rsproxy.class),或者 RSEnableRemoteScripting 方法中传递的是无效 URL。
客户端错误消息“创建文件的 ASP 对象失败”。 RSGetASPObject 调用中传递的是无效 URL。请参阅作为对象引用 ASP 页。


如果错误位于包含远程调用方法的 ASP 页中,或者如果错误出现在对某个远程方法的调用过程中,那么用户可以在某个错误回调函数中捕获该错误,而且用户可以从调用对象的 data 和 message 属性中获得关于错误的信息。

下表列出了用户可以用错误回调函数捕获的典型问题以及 message 和 data 属性中的值。在多数情况下,message 属性返回一般性信息,而 data 属性则包含关于错误的详细信息。

注意 数据属性包含一定数目的 XML 标记以及和调用有关的其他信息。下表列出了出现在属性值中的一个字符串。

问题 消息值 数据值
RSExecute 方法中 ASP 页的无效 URL。请参阅同步调用 Remote Scripting 方法和异步调用 Remote Scripting 方法 不同的,包括用户试图调用的页名。 (null)
ASP 文件到 Rs.asp 的路径错误。请参阅使得服务器页中的 Remote Scripting 有效。 “调用的页不支持 remote scripting。” “未找到包括文件。”
ASP 文件中的语法或者运行时间错误。 “调用的页不支持 remote scripting。” 和错误有关的细节,包括行号。
试图调用不存在的方法。 “不是公用函数。” “不是公用函数。”
ASP 构造函数引用了未出现在 ASP 文件中的函数。请参阅使得服务器页中的 Remote Scripting 有效 “调用的页不支持 remote scripting。” “functionName未定义。”   
 本文Tags组网  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:remote script文档(转载自微软)(八)
· 下一篇:remote script文档(转载自微软)(六)
· 20种看asp源码的方法及工具
· 利用ASP改进文档上载控件
· ASP代码的对象化
· 一个二级玉米实现最基本的例子
· ASP中FSO的神奇功能 - 写文件


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077