Função: HTTPExitProc
Seta uma função que será chamada quando uma sessão HTTP for finalizada por timeout.
HTTPExitProc ( < cFunction> ) --> Nil
Nome | Tipo | Descrição | Obrigatório | Referência |
cFunction | Caracter | Indica a string (nome da função) que será chamada quando a sessão for finalizada por timeout. | X |
Nil (Nulo)
Retorno nulo.
Retorno nulo.
- A chamada da função especificada por cFunction será realizada mediante a engine de working threads configurada para o job atual e deve ser do tipo WEBEX. A chamada será feita internamente emulando uma chamada de requisição de browse com link .apw, e esta chamada vai utilizar uma working thread livre para executar a função especificada.
- É importante salientar que a função especificada será chamada exclusivamente na finalização de uma session de usuário por timeout. Caso o serviço do Application Server seja finalizado, ou ocorra um término anormal do serviço, ou ocorra uma indisponibilidade de processos livres, a função especificada para saída não será chamada.
- A função que será chamada para tratamento da sessão finalizada, deve estar compilada no repositório de dados corrente, caso contrário um erro “Macro FC: cannot find function” ocorrerá.
- A chamada a função HTTPExitProc deverá ser feita na sessão em que se deseja setar a função de timeout e não afeta as outras sessões HTTP que por ventura possam estar carregadas no Application Server
- O retorno da função especificada em cFunction deve ser do tipo string para evitar um erro “[APWEXERR_0004] INVALID PROC RETURN TYPE” em tempo de execução.
- A sessão HTTP é finalizada automaticamente pelo Application Server antes da chamada à cFunction definida.
- O tempo de timeout pode ser definido no arquivo de configuração (totvsappserver.ini ou appserver.ini) na seção [HTTP] pelo parâmetro SessionTimeOut.
- Esta função é útil quando se deseja encaminhar todas as 'quedas' de sessão para uma única função de tratamento.
#include 'apwebex.ch'
User Function TstSession()
WEB EXTENDED INIT cHtml// cria uma sessao
HTTPhttpSession->userid = '123'
conout ("sessao criada")
WEB EXTENDED END
if (httpget->sto = "ok") // chamado a partir da url http://localhost/u_tstsession.apw?sto=ok
conout("Setando funcao de timeout = u_terminas")
HTTPExitProc('u_terminas')
endif
return
user function terminaS()
cRet := HttpCountSession()
conout("HTTP sessions = "+str(cRet))
conout("Sessao terminada por timeout")
return "ok"
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas