asp.net: i dati messi in sessione sono disponibili mentre si lavora in Internet Explorer ma non in Opera

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

  •  03-07-2019
  •  | 
  •  

Domanda

è una cosa davvero strana - ho un sito Web che funziona perfettamente in maxthon (browser basato su Internet Explorer). l'ho avviato in opera e ho scoperto che i dati inseriti nel dizionario Session su un sito, non sono disponibili sull'altro ... intendo che ho Welcome.aspx, dove quando si fa clic su Avanti viene eseguito il seguente codice:

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

durante il debug posso vedere che in models.aspx Sessione vuota quando si esegue in opera ma tutto va bene quando si esegue in maxthon. qualcuno ha idea di cosa può essere sbagliato? perché sono all'oscuro ... questa è una cosa delle preferenze dell'opera o è qualcosa nel codice?

Modifica: ho controllato Session.IsNewSession e durante l'esecuzione in maxthon isnewsession è impostato su false ma in opera è vero. sembra che nell'opera quando si passa a una nuova pagina in qualche modo crea una nuova sessione ...

È stato utile?

Soluzione

Se scrivi la sessione al primo colpo, dovresti farlo

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

Altrimenti non scriverà l'intero responsestream e il cookie potrebbe non essere stato scritto. Puoi invece scegliere di avere sessioni senza cuoco. Ma poi sei aperto al dirottamento della sessione.

Altri suggerimenti

La sessione ASP.NET è memorizzata da una chiave salvata come cookie nel browser. Controlla Opera per vedere se accetta i cookie - sarà necessario affinché la sessione ASP.NET funzioni correttamente.

Forse hai i cookie disabilitati in Opera. La sessione funziona (a meno che non si specifichi come senza cucina in web.config) memorizzando un identificatore in un cookie. Se il brwoser non consente l'accesso, il server non sarà in grado di individuare i dati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top