次の方法で共有


RequestStart イベント

[Microsoft Agent は Windows 7 の時点で非推奨となり、後続のバージョンの Windows では使用できない可能性があります。]

説明

サーバーがキューに入れられた要求を開始するときに発生します。

構文

Sub agent**_RequestStart** (ByVal Request**)**

部分 説明
Request 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 キーワードを使用できます。

   Sub Agent1_RequestStart (ByVal Request)

   If Not (MyRequest Is Nothing) Then
      If Request = MyRequest Then
      '-- Do whatever
      End If
   End If

   End Sub

Note

VBScript 1.0 では、 Request オブジェクトへの参照を定義していない場合でも、このイベントが発生します。 これは VBScript 2.0 で修正されました。

 

参照

RequestComplete イベント