Árvore de páginas

Função: HTTPExitProc

Seta uma função que será chamada quando uma sessão HTTP for finalizada por timeout.

HTTPExitProc ( < cFunction> ) --> Nil

 

NomeTipoDescriçãoObrigatórioReferência
cFunctionCaracterIndica a string (nome da função) que será chamada quando a sessão for finalizada por timeout.X 

 

Nil (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

 

  • Sem rótulos