Я конвертирую приложение веб-форм в asp.net core mvc. В моем приложении для веб-форм иногда после того, как я установил некоторые куки ответов, другим кодам нужно выяснить, были ли они установлены, и если да, обратитесь к свойствам файла cookie (т. Е. Значение, Expires, Secure, http). В WebForms и MVC 5 это можно перебирать печенье и вернуть определенные куки, как так (старой школы, я знаю)Как проверить файл cookie ответа в Asp.net Core MVC (aka Asp.Net 5 RC1)?
for(int i = 0; i < cookies.Count; i++) {
if(cookies[i].Name == cookieName) {
return cookies[i];
}
}
Но интерфейс для доступа к куки ответа на основной asp.net MVC выглядит следующим образом:
на основе этого интерфейса я не вижу способ проверить, чтобы увидеть, если печенье ответ существует и получить его свойства. Но должен ли быть какой-то способ сделать это?
В методе действий я попытался установить два файла cookie на объект ответа, а затем сразу же попытался получить к ним доступ. Но IntelliSense не показывает каких-либо методов, свойств или индексаторов, которые позволили бы мне получить доступ к ним:
На мгновение я подумал, что, возможно, я мог бы использовать Response.Cookies.ToString();
и просто проанализировать информацию, чтобы найти мой печенье info, но, увы, вызов ToString()
возвращает «Microsoft.AspNet.Http.Internal.ResponseCookies», потому что объект не переопределяет реализацию по умолчанию.
Просто для удовольствия я также проверил текущую ветвь dev GitHub, чтобы увидеть, изменился ли интерфейс с RC1, но это не так. Итак, учитывая этот интерфейс, как я могу проверить наличие cookie-ответа и получить его свойства? Я думал о попытке взломать через коллекцию заголовков ответов, но это кажется довольно хромым.
Вы пробовали «Response.Cookies» в своем методе действий? –
У меня будет. Я уточню вопрос, чтобы указать на это. –
О, извините. Я имел в виду «Request.Cookies», мою ошибку! –