Чтобы обновить куки, вам нужно только установить куки снова, используя новые значения.Обратите внимание, что вы должны включить все данные, которые хотите сохранить, поскольку новый файл cookie заменит ранее установленный файл cookie.Я собираюсь предположить, что ваша реализация updateCookie () делает именно это.
В противном случае ваша общая предпосылка верна.Вот реализация, которую я использовал много раз, чтобы сделать это.(Примечание: _page является ссылкой на текущую страницу):
/// <summary>
/// Update the cookie, with expiration time a given amount of time from now.
/// </summary>
public void UpdateCookie(List<KeyValuePair<string, string>> cookieItems, TimeSpan? cookieLife)
{
HttpCookie cookie = _page.Request.Cookies[COOKIE_NAME] ?? new HttpCookie(COOKIE_NAME);
foreach (KeyValuePair<string, string> cookieItem in cookieItems)
{
cookie.Values[cookieItem.Key] = cookieItem.Value;
}
if (cookieLife.HasValue)
{
cookie.Expires = DateTime.Now.Add(cookieLife.Value);
}
_page.Response.Cookies.Set(cookie);
}