Compartilhar via


O objeto Request

[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]

O servidor processa alguns métodos de forma assíncrona. Isso permite que o código do aplicativo continue enquanto o método está sendo concluído. Quando um aplicativo cliente chama um desses métodos, o controle cria e retorna um objeto Request para a solicitação. Você pode usar o objeto Request para acompanhar o status do método atribuindo uma variável de objeto ao método . No Visual Basic, primeiro declare uma variável de objeto:

   Dim MyRequest as Object

No VBScript, você não inclui o tipo de variável em sua declaração:

   Dim MyRequest

E use a instrução Set do Visual Basic para atribuir a variável à chamada de método:

   Set MyRequest = <i>agent</i>.Characters("<i>CharacterID</i>").<i>method</i> (<i>parameter</i>[s])

Isso adiciona uma referência ao objeto Request . O objeto Request será destruído quando não houver mais referências a ele. Onde você declara o objeto Request e como usá-lo determina seu tempo de vida. Se o objeto for declarado local para uma sub-rotina ou função, ele será destruído quando sair do escopo; ou seja, quando a sub-rotina ou função termina. Se o objeto for declarado globalmente, ele não será destruído até que o programa seja encerrado ou um novo valor (ou um valor definido como "vazio") seja atribuído ao objeto.

O objeto Request fornece várias propriedades que você pode consultar. Por exemplo, a propriedade Status retorna o status atual da solicitação. Você pode usar essa propriedade para marcar o status de sua solicitação:

   Dim MyRequest
   
   Set MyRequest = Agent1.Characters.Load ("Genie", "https://agent.microsoft.com/characters/v2/genie/genie.acf")

   If (MyRequest.Status = 2) then
      'do something

   Else If (MyRequest.Status = 0) then
      'do something right away

   End If

A propriedade Status retorna o status de um objeto Request como um valor inteiro Long.

Status Definição
0 Solicitação concluída com êxito.
1 Falha na solicitação.
2 Solicitação pendente (na fila, mas não concluída).
3 Solicitação interrompida.
4 Solicitação em andamento.

 

O objeto Request também inclui um valor inteiro Long na propriedade Number que retorna o erro ou a causa do código Status . Se nenhum, esse valor será zero (0). A propriedade Description contém um valor de cadeia de caracteres que corresponde ao número do erro. Se a cadeia de caracteres não existir, Description conterá "Erro definido pelo aplicativo ou definido pelo objeto".

Para obter os valores e o significado retornados pela propriedade Number , consulte Códigos de erro.

O servidor coloca solicitações de animação na fila do caractere especificado. Isso permite que o servidor reproduza a animação em um thread separado e o código do aplicativo pode continuar enquanto as animações são reproduzidas. Se você criar uma referência de objeto Request , o servidor notificará você automaticamente quando uma solicitação de animação for iniciada ou concluída por meio dos eventos RequestStart e RequestComplete . Como os métodos que retornam objetos Request são assíncronos e podem não ser concluídos durante o escopo da função de chamada, declare sua referência ao objeto Request globalmente.

Os métodos a seguir podem ser usados para retornar um objeto Request : GestureAt, Get, Hide, Interrupt, Load, MoveTo, Play, Show, Speak e Wait.