quarta-feira, 18 de dezembro de 2013

Como configurar tempo de timeout no Web.Config de aplicações web geradas pelo Genexus X Evolution 2



Olá, Genexianos!

Recentemente, após migrar minha kb Genexus X Evolution 1 U5 para Genexus X Evolution 2 U4, tive problema ao configurar tempo de sessão e tempo de request no arquivo Web.Config.
Geralmente eu costumo incluir dentro da tag <system.web> as seguintes instruções:

<sessionState mode="InProc" cookieless="false" timeout="720" />
<httpRuntime executionTimeout="1200"/>

A primeira instrução define o tempo de inatividade da sessão de uma aplicação web. A segunda instrução define o tempo de processamento de um request.

Imagem da alteração da sessionState e do executionTimeout no Web.Config de forma errada.


Depois de feito a configuração do Web.Config me deparei com dois erros.
Primeiro erro, a aplicação web não estava mais sendo acessada.



Segundo erro, acessei o IIS para checar o que houve. Verifiquei que a opção de Documento Padrão apresentava o erro abaixo.


Pela mensagem do erro descobri a causa do problema. Já existia uma tag httpRuntime com o atributo requestValidationMode no Web.Config e eu estava tentando incluir a mesma tag novamente. Acabei percebendo que o Genexus Evolution 2 (compilando em framework 4) gera o arquivo  Web.Config diferente da Evolution 1. Para solucionar o erro, na tag httpRuntime existente acrescente o atributo executionTimeout.

Imagem da alteração da sessionState e do executionTimeout no Web.Config de forma correta.
 
Feito isso, o sistema web está pronto para rodar. É só correr para o abraço. Concluímos que num processo de migração sempre pode aparecer alguma novidade... rsrs...



5 comentários:

Unknown disse...

O tempo é em segundos?

Bruno M. M. Tavares disse...

Na tag sessionState o valor de timeout está em minutos.

Na tag httpRuntime o valor de executionTimeout está em segundos.

Jorge disse...

Estou com um problema que acredito ser no web.config, talvez possam me ajudar.
Possuo uma aplicação C# com SQL que armazena um campo blob.
Sempre funcionou, mas a partir da Ev2 U4 esta com problema.
Ao tentar subir um arquivo txt no atributo blob, quando clico em salvar nada acontece e fica parado na transação.
Já setei a tag maxRequestLength="1048576" para limitar arquivos até 1Gb, mas não adiantou.
Alguém pode me ajudar?

Jorge disse...

Estou com um problema que acredito ser no web.config, talvez possam me ajudar.
Possuo uma aplicação C# com SQL que armazena um campo blob.
Sempre funcionou, mas a partir da Ev2 U4 esta com problema.
Ao tentar subir um arquivo txt no atributo blob, quando clico em salvar nada acontece e fica parado na transação.
Já setei a tag maxRequestLength="1048576" para limitar arquivos até 1Gb, mas não adiantou.
Alguém pode me ajudar?

Bruno M. M. Tavares disse...

Então, Jorge, se esse problema começou a ocorrer após o upgrade 4 (e antes estava tudo legal), o interessante é verificar se a Artech tem alguma ocorrência a respeito desse erro.