ASP.NET MVC 3 - gestion des variables de Session

J'ai une application qui utilise du Formulaire d'Authentification et lorsque l'utilisateur du journal, j'ai récupérer de l'utilisateur, nom réel et l'assigner à une variable de session, comme suit:

[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
    if (ModelState.IsValid)
    {
        if (Membership.ValidateUser(model.UserName, model.Password))
        {
            Session["Name"] = client.GetName(model.UserName);
            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
            return RedirectToAction("Index", "Home"); 
        }
    }
}

Il est ensuite affichée sur mon Index de la vue, comme suit:

<h3>Welcome, @Session["Name"]</h3>

Donc, si mon nom est Bob, elle serait sortie de "Bienvenue, Bob" sur mon point de vue et cela fonctionne bien. Mais une fois que je naviguez à partir de la page ou de fermer mon navigateur et de revenir quelques minutes plus tard, il me semble que si ces variables de Session ont été détruites comme il vient de sorties "Bienvenue", mais je suis toujours connecté dans ma session n'est pas détruit? J'ai mis la session à être détruits après un délai de 60 minutes dans mon web.config:

<sessionState regenerateExpiredSessionId="true" timeout="60" />

Modifier

Cela ne se produit que lorsque je vérifie mon "se Souvenir de Moi" lors de la connexion, comme je suppose que cela permet de maintenir un cookie côté client, donc, quand je ré-ouvre mon navigateur Im toujours connecté, mais un nouvel ID de session est créé comme je l'ai fait une Response.Write(Session.SessionID) sur ma page Index et l'ID de l'avant, j'ai fermé mon navigateur est différente de celle où j'ai ré-ouvert. Si je ne vérifie pas mon "se Souvenir de Moi" alors que je suis forcé de vous connecter à nouveau sur la ré-ouverture de mon navigateur

Le site exécute sur l'ordinateur hôte partagé?
Nop, son sur mon IIS interne

OriginalL'auteur CallumVass | 2012-04-12