Вы не можете установить и получить cookie в одном запросе.Получение cookie-файла получает его из браузера, но оно еще не получено. Установка cookie-файла подготавливает его к отправке обратно как часть заголовка после завершения запроса.
Вам необходимо установить cookie-файл изаставить браузер, возможно, перенаправить куда-нибудь еще (например, из / login в / account), тогда при прочтении нового запроса он будет правильно показывать cookie.
РЕДАКТИРОВАТЬ: В случае, если это предположение было неверным, я бы также спросил, гдевы на самом деле вызываете .SetCookie (), так как нигде в предоставленном вами коде вы на самом деле не вызываете его для создания файла cookie.
Чтобы отладить эти вещи, я считаю полезным взять биты кодаВы предполагаете, что должно работать, проверьте их.Например, в page_load новой страницы я ввел это:
string CookieName = "bob";
long UserId = 4;
HttpCookie myCookie = HttpContext.Current.Request.Cookies[CookieName] ?? new HttpCookie(CookieName);
myCookie.Values["UserId"] = UserId.ToString();
myCookie.Values["LastVisit"] = DateTime.Now.ToString();
myCookie.Expires = DateTime.Now.AddDays(365);
HttpContext.Current.Response.Cookies.Add(myCookie);
И файл cookie появился правильно, без проблем.Итак, зная, что этот код на самом деле работает, мы можем предположить, что ошибка в том, что функция не вызывается или выполняемая в настоящее время проверка / отладка пытается установить и прочитать cookie в том же запросе и потерпела неудачу (как я первоначально указал)
В любом случае, удачи!