none
Cookie не читаются и не сохраняются RRS feed

  • Вопрос

  • Здравствуйте форумчане.

    Столкнулся с проблемкой сохранения/чтения куков.

    Суть: Есть несколько служб asmx которые крутятся на iisexpress из под студии в режиме отладки. На локальном компьютере естестно =). На нем же, есть сайт, который иерархически хоть и находится там же где и службы, но поднят на browser-sync, в силу того что он крайне удобен и сам сайт я разрабатываю в WebStorm. Т.е. получается у меня поднято 2 сервера на локальной машине на разных портах. Доступ к службам с сайта есть. Проблема в том, что службы не могут ни записать, ни прочитать куки. При работе с сайтом с iisexpress эта проблема не воспроизводится. 

    Если это важно, с куками работаю так:

    public static string SessionID
    {
        get
        {
            string CureentSessionID = HttpContext.Current.Request.Cookies["SessionId"] == null ? null : HttpContext.Current.Request.Cookies["SessionId"].Value;
            if (String.IsNullOrEmpty(CureentSessionID) || !Tools.SessionIDModel.IsMatch(CureentSessionID))
                return null;
            return CureentSessionID;
        }
        set
        {
            HttpCookie SessionId = new HttpCookie("SessionId", value);
            SessionId.HttpOnly = true;
            //SessionId.Domain = "localhost:13080";
            HttpContext.Current.Response.Cookies.Add(SessionId);
        }
    }

    Пробовал поиграться с параметром "Domain", указывал и адрес службы, и адрес сайта - тщетно.

    Хотелось бы понять, почему так происходит и как мне пофиксить эту проблему, не меняя инструменты с которыми мне комфортно работать.

    P.S. Забыл упомянуть, думаю немаловажно, куки на сайт вроде как прилетают http://joxi.ru/BA0M6N9CBWLJMr но упоминание он них отлично от того, что я вижу когда захожу на сайт используя iisexpress: http://joxi.ru/krD8qGLu0v8E7r На скринах первый вызов метода "Ping" который в числе прочего призван проверить наличие и правильность куков на сайте, и задать их при необходимости. Перед обновлением страницы в обоих случаях куки вычищал.

    30 сентября 2016 г. 15:53

Все ответы

  • У вас URL (домен + порт) в обеих случаях одинаковый, но в зависимости от того откуда запускается сайт он читается или нет. Правильно ли я понял?

    Сделаем содержимое сообщества лучше, вместе!

    2 октября 2016 г. 18:37
    Модератор
  • Нет, не так =)

    Службы на iisexpress - localhost:13080, сайт на browsr-sync - localhost:3000. Сайт иерархически расположен в той же директории что и службы, и нет проблем что бы зайти на него через iisexpress (localhost:13080) в продакшене так оно и будет. Но сейчас, на период разработки, мне удобнее в силу ряда причин, просматривать его через browsr-sync (localhost:3000). А в таком режиме я имею вышеописанные проблемы с куками.

    3 октября 2016 г. 5:03