#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());