Sitzung endet nach dem Zufallsprinzip umleiten nach

Ich habe ein seltsames problem in ASP .NET MVC 4. In AccountController ich mache Weiterleitungen auf bestimmte Aktionen und Daten in TempData (gespeicherte Sitzung) vor, dass:

[AllowAnonymous]
public ActionResult Activate(string token)
{
    new CustomSignupService().Activate(token);
    TempData["Message"] = "User was successfully confirmed";
    return RedirectToAction("Message", "Home")
}

Nun, ich weiß, ich könnte einfach zurück shared Message-Ansicht in diesem Fall, aber das ist nur ein Beispielcode um das problem zu reproduzieren.

CustomSignupService.Aktivieren hat einen db-lookup via NHibernate und updates Benutzer in der Transaktion (Benutzer-Aktivierung). Manchmal (sagen wir 1/5 versucht in 5 Minuten) TempData nicht machen es durch die Umleitung, also ich habe die Protokollierung in Session_End und bemerkt, dass die session endet, wenn RedirectToAction aufgerufen. Direkt nach Session_Start aufgerufen wird, aber natürlich TempData ist Weg.

Sitzung hat die Standard-timeout (20min) und Controller verwenden SessionStateBehavior.ReadOnly

Irgendwelche Ideen?

UPDATE

Schritt 1: Es ist nicht Anwendungspool recycling (drehte ich mich auf alle Allgemeinen Recycle-Event-Log-Einträge, die auf Application pool und überprüft Ereignis-Protokoll nach der Sitzung neu gestartet, aber Recycling ist nicht verursacht es)

  • Ähnliches Thema; meine Antwort es kann hilfreich sein: stackoverflow.com/a/23804262/3253726
  • Ich habe das exakt gleiche Verhalten. Haben Sie jemals finden eine Ursache?
  • Nein, leider habe ich nicht @jas
  • Am Ende, ich denke, mein problem war anders. Jemand hatte den app pool recyceln, um eine geringe Anzahl von Anfragen, und es war recycling während des Last-Tests sehr schnell, dieses problem verursacht. (Wurde auf 500 gesetzt, aber wir machten 100te von Anfragen pro Sekunde) @PavleGartner
Schreibe einen Kommentar