RequestStart 事件
[从 Windows 7 开始,Microsoft 代理已弃用,可能在后续版本的 Windows 中不可用。]
-
Description
-
在服务器开始排队请求时发生。
-
语法
-
子代理**_RequestStart** (ByVal请求**) **
组成部分 说明 请求 返回 Request 对象。
备注
事件返回 Request 对象。 由于请求是异步处理的,因此可以使用此事件来确定服务器何时开始处理请求 (如 Get、 Play 或 Speak 方法) ,从而将其与应用程序生成的其他操作同步。 仅当为请求引用定义了全局变量时,事件才会发送到创建了 对 Request 对象的引用的客户端:
Dim MyRequest
Dim Genie
Sub window_Onload
Agent1.Characters.Load "Genie", _
"https://agent.microsoft.com/characters/v2/genie/genie.acf"
Set Genie = Agent1.Characters("Genie")
' This syntax will generate RequestStart and RequestComplete events.
Set MyRequest = Genie.Get("state", "Showing")
' This syntax will not generate RequestStart and RequestComplete events.
Genie.Get ("state", "Hiding")
End Sub
Sub Agent1_RequestStart(ByVal Request)
If Request = MyRequest Then
Status = "Loading the Showing animation"
End Sub
对于返回的 Request 对象,Status 返回 4 个正在进行的请求 () 。
由于在服务器处理请求之前不会分配动画 Request 对象,因此在尝试评估该对象之前,请确保 Request 对象存在。 例如,在 Visual Basic 中,如果使用条件来测试特定请求是否已完成,则可以使用 Nothing 关键字 (keyword) :
Sub Agent1_RequestStart (ByVal Request)
If Not (MyRequest Is Nothing) Then
If Request = MyRequest Then
'-- Do whatever
End If
End If
End Sub
注意
在 VBScript 1.0 中,即使未定义对 Request 对象的引用,也会触发此事件。 VBScript 2.0 中已修复此问题。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈