RequestStart 事件

[从 Windows 7 开始,Microsoft 代理已弃用,可能在后续版本的 Windows 中不可用。]

Description

在服务器开始排队请求时发生。

语法

代理**_RequestStart** (ByVal请求**) **

组成部分 说明
请求 返回 Request 对象。

 

备注

事件返回 Request 对象。 由于请求是异步处理的,因此可以使用此事件来确定服务器何时开始处理请求 (如 GetPlaySpeak 方法) ,从而将其与应用程序生成的其他操作同步。 仅当为请求引用定义了全局变量时,事件才会发送到创建了 对 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 中已修复此问题。

 

另请参阅

RequestComplete 事件