Мы только что купили некоторое программное обеспечение, которое обеспечивает API в нашу телефонную систему, разрешающую нам набрать, зависание и т.д. API был разработан, чтобы быть используемой стороной клиента (Internet Explorer / activex). Мы хотим использовать эту сторону сервера и выполниться, команды набора через ajax звонят в классический сценарий ASP.
Основной 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
%>
но я не могу назвать команду набора
objPhone.MakeCall("1001")
пока "инициализированный" случай не произошел. Существует ли путь в классическом ASP для ожидания события для увольнения прежде, чем выполнить некоторый код?
оказалось, что это просто невозможно в ASP. Нет никакого свойства, которое говорит, что компонент инициализирован, только событие initialised, которое срабатывает. К сожалению, ASP не может обнаруживать события. Разработчик предложил обернуть свой компонент в новую DLL, которая позаботится об управлении событиями, но у меня нет ресурсов для этого. Они обещали настоящую возможность работы на стороне сервера в будущей версии программы
.Я ничего не знаю об этом компоненте, поэтому ниже приведены некоторые предположения.
1) Если у компонента есть свойство для отслеживания момента инициализации, вы можете проверить это и после инициализации вызвать метод MakeCall.
2) Я предполагаю, что у компонента есть событие OnInitializedComplete (или что-то подобное), если это так, напишите код на стороне сервера на JScript и назначьте функцию на это событие.