快捷搜索:

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

文档: 反省差错

当您在办事器脚本顶用 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 属性值进行测试,由于该函数仅在调用掉败时才被调用。

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);

}

Remote Scripting 调用故障诊断

找到某个 remote scripting 调用中切实着实切差错源并不老是一件轻易的工作,由于 remote scripting 不仅涉及到客户而且涉及到办事器上的多个文件。不过,某些类型的差错属于一样平常性差错,而且轻易发明。别的,用户可以用 remote scripting 机制的差错捕获法度榜样得到调用历程中所呈现差错的具体信息。

在某些环境下,用户不能用 remote scripting 进行任何处置惩罚,由于尚未对之进行精确的初始化。下表列出了范例的初始化差错及其可能的掉足启事。

症状 可能错因

Remote scripting 不起感化;客户页源仅包孕标记。 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不决义。”

您可能还会对下面的文章感兴趣: