.NET
De TeHospedia
Disponibilidade: A TeHospedo oferece .Net 1.0 ,.Net 2.0, .Net 3.0 e .Net 3.5 em seus planos de hospedagem de sites windows.
Conteúdo |
[editar] Documentação
[editar] Sessões
Para usar o State Server (Servidor de sessões) em nossos servidores Windows, em seu arquivo web.config, adicione, dentro do bloco:
<configuration> <system.web>
O seguinte bloco:
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20"/>
As vantagens de usar o mode=StateServer ao invés do mode=InProc (padrão quando a configuração sessionState é omitida) é que a sessão independerá do servidor http IIS e de suas configurações do Application Pool.
Em nossos servidores Windows a Application Pool é configurada para fechar após 4 minutos de inatividade, o que provoca a perda da sessão. Com o StateServer, a sessão continua mesmo que o Application Pool se encerre ou o IIS seja reiniciado para alguma manutenção.
Configurando os parâmetros
- stateConnectionString
- deve ficar como o exemplo, pois é a configuração do servidor de sessões
- cookieless
- false é o padrão. Usando true a sessão irá funcionar sem cookie, mas a URL das páginas será modificada automaticamente para que o ID da sessão seja passado de uma página a outra
- timeout
- gerencia o tempo da sessão em minutos antes da mesma ser perdida
Mais sobre sessões:
[editar] Erros comuns
[editar] Invalid ViewState
Erro apresenta algo como:
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. [No relevant source lines] [ViewStateException: Invalid viewstate.]
Existem vários artigos, como o da Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;555353 que informam sobre machine keys, server farms, etc, mas não esclarecem o erro mais comum.
O erro mais comum é por um postback interrompido. Ocorre quando o visitante aperta o botão parar ou voltar do navegador, ou ainda, quando o visitante clica no link/botão de submit do post antes da página ter sido totalmente carregada.
Isso ocorre em qualquer instalação do IIS (servidor de páginas da Microsoft) usando .Net.
A solução é usar o post em menos locais do site, usando o método get nos seus formulários. Outra forma de resolver é tornar suas páginas mais leves, com html menor em bytes, assim, a página será carregada mais rápido e o visitante irá ter menos possibilidade de clicar em algo antes da página ser totalmente carregada.
No entanto, apesar de os erros serem exibidos, o visitante não é prejudicado, se ele repetir a operação, a página irá ser exibida corretamente.



