Korzystanie z plików cookie w Asp.Net Mvc 4

Mam aplikację internetowąAsp.Net MVC4 i chcę użyćciastko dla logowania użytkownika i wylogowania. Więc moje działania są następujące:

Akcja logowania

    [HttpPost]
    public ActionResult Login(string username, string pass)
    {
        if (ModelState.IsValid)
        {
            var newUser = _userRepository.GetUserByNameAndPassword(username, pass);
            if (newUser != null)
            {
                var json = JsonConvert.SerializeObject(newUser);

                var userCookie = new HttpCookie("user", json);
                userCookie.Expires.AddDays(365);
                HttpContext.Response.Cookies.Add(userCookie);

                return RedirectToActionPermanent("Index");
            }
        }
        return View("UserLog");
    }

Zaloguj się do akcji

    public ActionResult UserOut()
    {
        if (Request.Cookies["user"] != null)
        {
            var user = new HttpCookie("user")
                {
                    Expires = DateTime.Now.AddDays(-1),
                    Value = null
                };
            Response.Cookies.Add(user);
        }
        return RedirectToActionPermanent("UserLog");
    }

Używam tego pliku cookie w _Loyout w następujący sposób:

@using EShop.Core
@using Newtonsoft.Json
@{
   var userInCookie = Request.Cookies["user"];
}
...
  @if (userInCookie != null && userInCookie.Value)
  {
        <li><a href="#">Salam</a></li>
        <li><a href="@Url.Action("UserOut", "Home")">Cıxış</a></li>
  }
  else
  {
        <li><a href="@Url.Action("UserLog", "Home")">Giriş</a></li>
  }

Ale kiedy jaKliknij * Działanie UserOut * Ta akcja dzieje się za pierwszym razem, ale potem nie działa. Umieszczam punkt przerwania dla szukania procesu, ale to się robiUserLog akcja nieUserOut. Moje pytanie brzmi: gdzie używam niewłaściwego sposobu cookie? Jaki jest najlepszy sposób używania plików cookie wAsp.Net Mvc4 w tym scenariuszu?

questionAnswers(3)

yourAnswerToTheQuestion