4D v16

Gerenciar Sessões 4D Mobile

Página Inicial

 
4D v16
Gerenciar Sessões 4D Mobile

Gerenciar Sessões 4D Mobile    


 

A partir de 4D v15 R4, é possível acessar a ID da sessão Mobile 4D no Servidor 4D por programação. Esta propriedade permite que desenvolvedores obtenham ou estabeleçam informação relacionada a sessões localmente (ver exemplo abaixo).

Sessões 4D Mobile são manejadas usando comandos de sessão 4D Web normais. Diversos comandos 4D Web, assim como os comandos  WEB Get session process count e On Web Close Process database method suportam sessões 4D Mobile.

As sessões 4D Mobile e as sessões Web são dois tipos diferentes de sessões. Ainda que compartam alguns conceitos  (e comandos), não tem as mesmas propriedades.Uma diferença significativa é a relação entre uma sessão e um processo:

  • Uma sessão Web é conectada a um único processo Web; graças a propriedade Automatic Session Management, o contexto do processo (instâncias de variáveis, seleções, etc) das sessões podem ser reutilizadas
  • Uma sessão 4D Mobile pode ser conectada a  vários processos Web; cada contexto de processo é automaticamente resetado ao final da execução do método de processo.

Como resultado, a distribuição de informação relacionada a sessão entre processos 4D Mobile Web exige implementações específicas no Servidor 4D.

Os seguintes comandos de gestão de sessões Web existentes suportan sessões 4D Mobile 

O comando WEB CLOSE SESSION fecha a sessão 4D Mobile cuja identificação se passa em sessaoID. Como uma sessão 4D Mobile pode manejar vários processos, este comando solicita a todos os processos Web relacionados que terminem sua execução.

O comando WEB Get Current Session ID agora retorna o UUID  associado com a sessão atual de 4D Mobile.

O comando WEB GET SESSION EXPIRATION  devolve a informação de caducidade da cookie de uma sessão 4D Mobile.

O mesmo cookie é utilizado para todos os processos vinculados a uma sessão 4D Mobile.

O novo comando  WEB Get session process count lhe permite averiguar o número de processos existentes relacionados com uma sessão determinada.

  • Para as sessões Web regulares, o comando devolve sempre 1 (uma sessão Web = um processo),
  • Para as sessões 4D Mobile, o comando devolve todos os processos web relacionados. O comando é útil neste contexto, por exemplo, para executar um loop em todos os processos de uma sessão 4D Mobile.



    

On Web Close Process database method é chamado por 4D a cada vez que um processo Web estiver prestes a terminar sua execução. Completamente suporta processos sessão 4D Mobile: neste contexto, é chamado por cada processo Web fechado, permitindo que salve qualquer dados (variável, seleção, etc) gerado pelo processo de sessão 4D Mobile. 

Nota: para as sessões web regulares, o método de banco de dados On Web Close Process database method é chamado todas as vezes que a sessão Web, ou seja, o processo único de sessão Web, for fechada,

Exemplo  

Se quiser distribuir ou reutilizar informação entre diversos processos ou uma única sessão 4D Mobile, pode usar o UUID da sessão 4D Mobile para identificar dados relativos a sessões. Por exemplo, depois de uma pesquisa de registros, se quiser manter uma seleção nomeada no 4D Server de maneira que qualquer requisição REST na mesma sessão possa acessar esta seleção diretamente. Pode escrever, depois da declaração da pesquisa:

  //cria uma seleção inter-processo incluindo seleção UUID
 COPY NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)
 
  //depois, pode reutilizar esta seleção para a mesma seleção
 USE NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)

 
 



Ver também 


 
PROPRIEDADES 

Produto: 4D
Tema: Gerenciar Sessões 4D Mobile

 
HISTÓRIA 

Criado por: 4D v15 R4

 
ARTICLE USAGE

4D Mobile ( 4D v16)