Ich bekomme diesen Fehler zeitweise.
Ich habe diesen Link gefunden, der ziemlich gut zusammenfasst, was ich bei Google gefunden habe: http://www.wacdesigns.com/2009/02/03/session-state-has-created-a-session-id-but- kann es nicht speichern, weil die Antwort bereits von der Anwendung gelöscht wurde /
Grundsätzlich heißt es, Sie können versuchen, die Webkonfigurationseinstellung DisplayWhenNewSession festzulegen, oder versuchen, den Sitzungsstatus zum Leben zu erwecken, indem Sie die Session.SessionID in Session_OnStart abrufen.
Aber tut jemand:
a) eine Erklärung dafür haben
oder noch besser, b) eine bewährte Lösung haben
Mir ist klar, dass ich die Antwort nicht löschen kann, nachdem ich etwas getan habe, das den HTTP-Antwortheader beeinflusst. Wenn ich dies tun würde, würde es jedes Mal einen Fehler verursachen, aber dies ist zeitweise. Die SessionID sollte sicherlich von ASP.NET am Anfang der Seitenantwort automatisch erstellt werden, vor allem auf der ASPX-Seite oder dem Page Load (wo alle meine Flushes aufgerufen werden).
Update: Beim Nachdenken stelle ich fest, dass dies passiert, wenn eine Datei in den Browser gestreamt wird. Die meisten Browser sind tatsächlich Suchmaschinen-Bots. Ich kann diesen Fehler wiederherstellen, indem ich einen Download starte und dann den Browser schließe. Vermutlich warten die Browser also nicht auf den Abschluss des Downloads, bevor sie den Downloadvorgang abbrechen. Ich habe dies auch auf anderen, normalen Seiten gesehen, aber in 99% der Fälle handelt es sich um Download-Seiten.