title: Unable to update cookie in ASP.NET
body: <p>I'm going nuts over this. I can write to a cookie, and then read it again. But at some point, i want to update the value it holds. Whenever i get the cookie again, i get the initial value, not the updated one. Below is the code i use for write/update and read of the cookie.</p>
  
  <pre><code>    private static HttpCookie WriteCookie(Guid siteId, string siteName)
      {
          var cookie = HttpContext.Current.Request.Cookies.Get("UserSettings");
          if(cookie != null) {
              cookie.Value = EncryptObject(new UserSettingsModel { SiteID = siteId, SiteName = siteName });
              HttpContext.Current.Response.Cookies.Set(cookie);
          }else {
              cookie = new HttpCookie("UserSettings") { Path = "/", Expires = DateTime.Now.AddDays(1), Value = EncryptObject(new UserSettingsModel { SiteID = siteId, SiteName = siteName }) };
              HttpContext.Current.Response.Cookies.Add(cookie);
          }
          return cookie;
      }
  
      public static UserSettingsModel GetUserSettings(string username = null)
      {
          var cookie = HttpContext.Current.Request.Cookies.Get("UserSettings");
          if (cookie == null || string.IsNullOrEmpty(cookie.Value))
          {
              cookie = ResetUserSettings();
          }
          var userSettings = DecryptObject&lt;UserSettingsModel&gt;(cookie.Value);
          if (userSettings != null)
          {
              var siteId = userSettings.SiteID;
              var siteName = userSettings.SiteName;
              return new UserSettingsModel { SiteID = siteId, SiteName = siteName };
          }
          throw new SecurityException("You have no site attached to your user. Contact an administrtor.");
      }
  </code></pre>
  
  <p><code>GetUserSettings</code> always returns the value that the cookie was initially created with. What's wrong?</p>
  
  <p>EDIT:</p>
  
  <p>I tried calling WriteCookie directly from a method in a Controller. The cookie was now set. I usually called WriteCookie via an Ajax request. Now, do i really have to write the cookie using JavaScript, or can i somehow just do it using WriteCookie?</p>
  
  <p>Thanks!</p>