Asp classic 经典ASP(vbscript)中的事件捕获-这可能吗?

Asp classic 经典ASP(vbscript)中的事件捕获-这可能吗?,asp-classic,vbscript,event-handling,activex,Asp Classic,Vbscript,Event Handling,Activex,我们刚刚购买了一些软件,它为我们的电话系统提供了一个API,允许我们拨号、挂断等。。API设计用于客户端(internet explorer/activex)。我们希望使用这个服务器端,通过对经典ASP脚本的ajax调用来执行拨号命令 用于初始化组件的基本VBScript如下所示: <% set objPhone = server.createobject("XariosPhoneManager.PhoneManager") objPhone.RemoteHost = "192.168

我们刚刚购买了一些软件,它为我们的电话系统提供了一个API,允许我们拨号、挂断等。。API设计用于客户端(internet explorer/activex)。我们希望使用这个服务器端,通过对经典ASP脚本的ajax调用来执行拨号命令

用于初始化组件的基本VBScript如下所示:

<%
 set objPhone = server.createobject("XariosPhoneManager.PhoneManager")
 objPhone.RemoteHost = "192.168.0.17"
 objPhone.RemotePort = "2001"
 objPhone.OAIPassword = ""
 objPhone.Extension = "1000"
 objPhone.Initialise()
 set objPhone = nothing
 %>

直到“初始化”事件发生。在经典ASP中,有没有一种方法可以在执行某些代码之前等待事件触发?

我对该组件一无所知,因此下面涉及一些猜测

1) 如果组件在初始化时有要跟踪的属性,则可以检查该属性,并在初始化后调用MakeCall方法


2) 我猜该组件有一个OnInitializedComplete事件(或类似事件),如果是这样,请用JScript编写服务器端代码,并为该事件分配一个函数。

我对该组件一无所知,因此下面涉及一些猜测

1) 如果组件在初始化时有要跟踪的属性,则可以检查该属性,并在初始化后调用MakeCall方法


2) 我猜该组件有一个OnInitializedComplete事件(或类似的事件),如果是这样,请在JScript中编写服务器端代码并为该事件分配一个函数。

结果表明,在ASP中根本不可能这样做。没有显示组件已初始化的属性,只有触发的初始化事件。不幸的是,ASP无法检测事件。开发人员建议将他们的组件包装在一个新的DLL中,负责事件管理,但我没有资源来做这件事。他们承诺在未来版本的软件中提供真正的服务器端功能,结果证明在ASP中根本不可能实现。没有显示组件已初始化的属性,只有触发的初始化事件。不幸的是,ASP无法检测事件。开发人员建议将他们的组件包装在一个新的DLL中,负责事件管理,但我没有资源来做这件事。他们承诺在未来版本的软件中提供真正的服务器端功能

这不是最优雅的解决方案,但您可以捕获错误,然后循环并重试调用,如果失败,然后重试-您可以在循环中暂停,以使过程有机会完成。您还可以对尝试次数进行限制,这样它最终会放弃,而不会进入内循环。类似于(未完成或未测试):


这不是最优雅的解决方案,但您可以捕获错误,然后循环并重试调用,如果调用失败,然后重试-您可以在循环中暂停,以使流程有机会完成。您还可以对尝试次数进行限制,这样它最终会放弃,而不会进入内循环。类似于(未完成或未测试):


事实证明,这在ASP中是不可能的。没有显示组件已初始化的属性,只有触发的初始化事件。不幸的是,ASP无法检测事件。开发人员建议将他们的组件包装在一个新的DLL中,负责事件管理,但我没有资源来做这件事。他们承诺在未来版本的软件中提供真正的服务器端功能。结果证明,在ASP中根本不可能实现。没有显示组件已初始化的属性,只有触发的初始化事件。不幸的是,ASP无法检测事件。开发人员建议将他们的组件包装在一个新的DLL中,负责事件管理,但我没有资源来做这件事。他们承诺在未来版本的软件中提供真正的服务器端功能。
objPhone.MakeCall("1001")
numTries = 0
processComplete = False
Do Until processComplete or numTries>=10
  On Error Resume Next  
  '## YOUR CODE TO CALL THE PROCESS HERE
  On Error Goto 0  
  numTries=CDbl(numTries)+1
Loop