Файлы cookie теряются

#asp.net #iis #cookies

#asp.net #iis #файлы cookie

Вопрос:

Я переношу данные с одной веб-страницы aspx на другую, используя файлы cookie. Он отлично работает на локальном компьютере IIS 7.5, но не на сервере IIS 8.0 после публикации

 Response.Cookies["UserBID"].Value = "11111";
        Response.Cookies["AppID"].Value = "161";
        Response.Cookies["RoleID"].Value = "6";
        Response.Cookies["ActiveOnly"].Value = "1";
        Response.Cookies["UserBID"].Expires = DateTime.Now.AddMinutes(5);
        Response.Cookies["AppID"].Expires = DateTime.Now.AddMinutes(5);
        Response.Cookies["RoleID"].Expires = DateTime.Now.AddMinutes(5);
        Response.Cookies["ActiveOnly"].Expires = DateTime.Now.AddMinutes(5);
        //Response.Redirect("http://localhost:49752/Usermgmt.aspx");
        Response.Redirect("http://dnadev/GlobalUserManagement/Usermgmt.aspx",false);
  

возвращение

 if (Request.Cookies["UserBID"] != null)
        {
            UserBID = Request.Cookies["UserBID"].Value.ToString();
        }
        if (Request.Cookies["AppID"] != null)
        {
            AppID = Request.Cookies["AppID"].Value.ToString();
        }
        if (Request.Cookies["RoleID"] != null)
        {
            RoleID = Request.Cookies["RoleID"].Value.ToString();
        }
        if (Request.Cookies["ActiveOnly"] != null)
        {
            ActiveOnly = Request.Cookies["ActiveOnly"].Value.ToString();
        }
  

Спасибо,

Ответ №1:

Из приведенного вами кода я не могу точно сказать, в чем проблема. Я попытаюсь ответить на ваш вопрос, пройдя через весь процесс. Когда вы устанавливаете файл cookie в ответе, который вы должны использовать Response.SetCookie(MyCookie); Это не приведет к дублированию файлов cookie. При простой установке значения файлов cookie потенциально могут создаваться дубликаты. После установки файла cookie вам придется перезагрузить страницу или посетить другую, чтобы установить файл cookie. Это не будет отображаться в Request.Cookies["MyCookie"]; Кроме этого, я не вижу никаких проблем с вашим кодом.

Установить файл cookie:

 HttpCookie cookie = new HttpCookie("UserBid", "11197");
HttpContext.Response.SetCookie(cookie);
  

Получаем значение файла cookie:

 var bid = (Request.Cookies["UserBid"] != null) ? Request.Cookies["UserBid"].Value : "";
  

Комментарии:

1. Я попробовал ваш код и все еще не могу получить значение после публикации кода на сервере IIS 8.