ASP.NET_SessionId fehlt

Ich verliere die ASP.NET_SessionId beim Wechsel zwischen den Seiten auf meine Website. Das Problem tritt bei Chrome/Firefox/Safari. Es geschieht nicht im IE. Es ist ziemlich seltsam...hier ist mein Szenario.

Meine Website zugegriffen werden kann, durch Eingabe von www.example.org oder example.org im browser (dies ist eine wichtige Information, wie Sie sehen werden).

Ich eingeben example.org. Von meiner Homepage, ich logge in meine Website (Hinweis: ich bin nicht mit ASP.NET forms-Authentifizierung). Ich bin an meinem Standard-Benutzer-Seite (z.B. Benutzerseite.aspx). Von dieser Seite habe ich klicken Sie auf ein <a> schickt mich zu einer anderen Seite auf meiner Website. Die <a> link ist voll-qualifiziert (z.B., http://www.example.org/page2.aspx). Wenn ich geschickt bekommen auf der neuen Seite meine session verloren!!!

So, ich lief Fiddler ' zu versuchen, und entdecken Sie das problem. Was ich fand, war interessant. Die Anfrage-Header-tag Referer war verloren zwischen den Seiten.

Hier sind die Schritte:

  1. Gehen example.org.
  2. Login example.org.
  3. Ich bekommen umgeleitet zu Benutzerseite.aspx. Der Referer ist http://example.org. Die ASP.NET_SessionId gesetzt.
  4. Ich auf die <a> (z.B., http://www.example.org/page2.aspx). Nachdem die Seite gerendert wird, wird die ASP.NET_SessionId verloren.

Den verlorenen ASP.NET_SessionId verloren geht, konsequent ist Google Chrome/Firefox/Safari. Dies geschieht nicht im IE.

Wenn Sie die obigen Schritte wiederholen, durch die Substitution example.org mit www.example.org die ASP.NET_SessionId ist nicht verloren. Es funktioniert, richtig jedes mal.

Irgendwelche Gedanken zu diesem Verhalten?

  • in fiddler wird der cookie gesendet, die in allen Fällen oder nicht?
  • was Sie versuchen, in page2 code hinter? und sind Sie mit InProc-session-state-Modus?
InformationsquelleAutor Steve | 2012-04-04
Schreibe einen Kommentar