Файл cookie ServiceStack не устанавливается в браузере

#servicestack #servicestack-bsd #servicestack-razor

#servicestack #servicestack-bsd #servicestack-razor

Вопрос:

У меня есть приложение с включенной Razor и такой сервис:

 public object Post(SelectTerminalRequest request)
{
    var location = base.Request.AbsoluteUri.CombineWith(request.TerminalId, "/flights");
    if (Request.Cookies.ContainsKey("Terminal"))
    {
        Request.Cookies.Remove("Terminal");
    }
    Request.Cookies.Add("Terminal",
        new Cookie("Terminal", request.TerminalId.ToString()) 
            { Expires = DateTime.Now.AddYears(1) });
    return new HttpResult(HttpStatusCode.Redirect)
    {
        Location = location
    };
}
 

Однако, когда я пытаюсь получить доступ к этому файлу cookie в моем представлении Razor, он пуст:

 @{
     Cookie cookie;
     Request.Cookies.TryGetValue("Terminal", out cookie);
     var baseUri = Request.GetApplicationUrl()   "/terminals";
     var redirectUrl = cookie != null ? baseUri   "/"   cookie.Value   "/flights" : baseUri;
 }
 

Когда я просматриваю свои файлы cookie, я ничего не вижу с Terminal :

введите описание изображения здесь

Ответ №1:

Я уверен, вы будете ругать себя за это, но добавление файлов cookie должно быть на Response , вы использовали Request объект. 🙂 Не волнуйтесь, я тоже это сделал!

 Response.SetCookie("Terminal", request.TerminalId.ToString());