RequestComplete 事件
[Microsoft 代理从 Windows 7 开始已弃用,可能在后续版本的 Windows 中不可用。]
-
Description
-
在服务器完成排队请求时发生。
-
语法
-
子代理*_RequestComplete** (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 = Agent.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_RequestComplete(ByVal Request)
If Request = MyRequest Then
Status = "Showing animation is now loaded"
End Sub
由于在服务器处理请求之前不会分配动画 Request 对象,因此在尝试评估该对象之前,请确保 Request 对象存在。 例如,在 Visual Basic 中,如果使用条件来测试特定请求是否已完成,则可以使用 Nothing 关键字 (keyword) :
Sub Agent1_RequestComplete (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 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈