首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >经典ASP (vbscript)中的事件捕获-这是可能的吗?

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

Stack Overflow用户
提问于 2010-07-20 17:23:39
回答 3查看 1.1K关注 0票数 1

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

初始化组件的基本VBScript如下:

代码语言:javascript
复制
<%
 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
 %>

但是我不能调用拨号命令

代码语言:javascript
复制
objPhone.MakeCall("1001")

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-24 01:02:05

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

票数 0
EN

Stack Overflow用户

发布于 2011-04-27 01:44:07

这不是最优雅的解决方案,但您可以捕获错误,然后循环并重试调用,如果调用失败,则重试-您可以在循环中暂停以使进程有机会完成。你也可以限制尝试的次数,这样它就不会最终放弃,不会陷入无限循环。像这样的东西(未完成或测试):

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2010-07-21 23:28:21

我对这个组件一无所知,所以下面涉及一些猜测工作。

1)如果组件在初始化时有一个要跟踪的属性,您可以对其进行检查,一旦初始化,就调用MakeCall方法。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3288577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档