Boa noite pessoal,
Estamos há algum tempo tentando resolver um problema na sessão de uma aplicação.
Pesquisei alguns tópicos aqui no Fórum mas não localizei algo que resolva nossa problema: o evento Session_Start() não roda no servidor.
O cenário é o seguinte:
Servidor Windows 2003 R2 com IIS 6.0
Site ASP Clássico com 4 aplicações
ASP.NET: 1.1 / 2.0 / 3.5 / 3.5 MVC.
Todas as páginas
ASP.NET iniciam dentro do website ASP Clássico, passam por uma página ASP que grava as informações da sessão em um cookie, e resgatam as informações deste cookie.
Agora, precisamos fazer com que a aplicação 3.5 MVC expire junto com a Sessão do ASP Clássico.
Então o que implementamos (se puderem/quiserem sugerir algo melhor, toda ajuda é bem vinda):
- Colocamos um IFRAME escondido no Cabeçalho com uma página ASP Clássico de forma a manter a sessão do ASP Clássico ativa.
- Lemos o cookie no Session_Start()
- Passamos os dados para a sessão.
- Deletamos o cookie (caso passe pelo Session_Start novamente não terá dados para ler)
- Fizemos todos os dados serem lidos da sessão.
Quando a sessão expirar o erro é tratado redirecionando ao ASP Clássico que já trata a sessão expirada.
Nos testes com o VS 2008 funciona perfeitamente, porém, quando publicamos no servidor, a impressão é a sessão não é iniciada (não passa pelo Session_Start).
Segue a configuração do web.config:
<sessionState
mode="InProc"
cookieless="true"
timeout="20"/>
Alguém tem alguma sugestão?
Desde já, obrigado pela ajuda,
Abraços!