Pergunta

Eu estava esperando que alguém poderia validar meus pressupostos antes que eu recomendo que meu upgrade do cliente a partir de um 30 / mo para um pacote de hospedagem 80 / mo.

Site: o site é um site de comércio eletrônico ASP.NET personalizado. os carrinhos de compras são armazenados na sessão inproc.

Problema durante estações ocupadas como nós estamos tendo agora, os usuários são freqüentemente perdendo seus carrinhos de compras e suas informações FormsAuthentication Acesso.

Solução Eu queria migrar o site para usar um estado SQL Server Session. Minhas hipóteses são de que os clientes estão perdendo seus carrinhos de compras porque as sessões InProc estão reciclando mais frequentemente, em seguida, o seu tempo limite de 20 minutos, devido à carga. Irá mover a sessão para SQL Server ou uma sessão Estado Server permitem ao cliente para armazenar o seu Carrinho de Compras Session sem a reciclagem, caso afirmativo, pode uma vez sua vontade eu tenho quaisquer problemas, se eu aumentar o tempo limite da sessão para dizer 40 ou 60 minutos

Foi útil?

Solução

Usando os meios de estado de sessão SQL que as sessões devem sobreviver a uma reciclagem de IIS, (mas não uma reciclagem de SQL Server se você usar o script padrão que cria o banco de dados sessão no tempdb).

Existe um script disponível no site da Microsoft que cria um db estado de sessão permanente. Eu recomendaria usar que uma vez (Consulte aqui ).

Assim, para responder, basicamente, a sua pergunta. Sim, o estado da sessão SQL vai ajudar. Você pode querer considerar também usando o servidor de estado out-of-proc para testar sua teoria.

Além disso, como um colega de trabalho acaba de me lembrar, certifique-se qualquer coisa que você armazenar na sessão está marcado como serializável antes de migrar, caso contrário, você vai correr em problemas.

Outras dicas

Você poderia apenas adicionar um pouco de RAM para a caixa? Isso ajuda força e provavelmente seria mais barato e mais simples do que se deslocam a sessão para SQL Server. Claro, seria apenas um paliativo, mas se salvou US $ 50 / mo por alguns anos, é provavelmente vale a pena.

Você também pode verificar o código para ver se alguma outra dados é deixado na sessão por muito mais tempo do que o necessário.

As premissas parecer razoável para mim. pode também querer olhar para as definições no AppPool e tentar descobrir por que a sua reciclagem. Talvez tudo que você precisa fazer é mudar os (se possível).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top