asp.net: colocar os dados em sessão está disponível, enquanto trabalhava no Internet Explorer, mas não na ópera

StackOverflow https://stackoverflow.com/questions/414488

  •  03-07-2019
  •  | 
  •  

Pergunta

é uma coisa muito estranha - Eu tenho um site que funciona perfeitamente em maxthon (navegador baseado Internet Explorer). i começou na ópera e descobriu que os dados colocar no dicionário de sessão em um site, não está disponível no outro ... Quero dizer que tenho Welcome.aspx, onde quando você clicar em Avançar o seguinte código é executado:

Session["sessionData"] = sessionData;
Response.Redirect("~/Models.aspx");  

durante a depuração eu posso ver que na sessão models.aspx no vazio ao executar na ópera, mas está tudo bem durante a execução em Maxthon. Alguém tem alguma idéia do que pode estar errado? porque eu sou ignorante .. isso é algum preferências ópera coisa ou é algo em código?

Edit: eu verifiquei Session.IsNewSession e durante a execução em isnewsession Maxthon é definido como falso, mas na ópera é verdade. parece que na ópera quando se deslocam para uma nova página de alguma forma cria nova sessão ...

Foi útil?

Solução

Se a sua gravação da sessão no primeiro hit, em seguida, você deve fazer

Response.Redirect("nextpage.asp", false);

Caso contrário ele não vai escrever todo o responseStream e o cookie não poderia ter sido escrito. Você pode escolher em vez de ter sessões cookiless. Mas então o seu aberta para o seqüestro de sessão.

Outras dicas

sessão

ASP.NET é armazenada por uma chave que é guardada como um cookie no navegador. Verifique Opera para ver se ele está aceitando cookies -. Ele precisará para que sessão ASP.NET para funcionar corretamente

Talvez você tem os cookies desactivados no Opera. obras de sessão (a menos speciefies como cookies no web.config) por armazenar um identificador em um cookie. Se o brwoser não permite o acesso, o servidor não será capaz de localizar os dados

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