2016-08-19 7 views
0

с простым старым ASP.NET, читающим куки-файл, так же просто, как получить объект HttpContext.Current.Request, но в DNX такого объекта нет.Как читать файлы cookie с Microsoft.AspNet (DNX)

Как проверить значение cookie, чтобы изменить его ответ?

public static string GetContentValueByKey(this Dictionary<string, string> content, string key) { 
    string value; 
    return content.TryGetValue(key, out value) ? value : key; 
} 

Я не хочу сейчас, на основе значения печенья, вернуть key вместо ... в «старые добрые времена» я мог бы легко сделать только value:

public static string GetContentValueByKey(this Dictionary<string, string> content, string key) { 
    string value; 
    var cookies = HttpContext.Current.Request.Cookies; 
    var showKeysOnly = cookies["showonlykeys"] != null && cookies["showonlykeys"] == "yes"; 
    return showKeysOnly ? key : content.TryGetValue(key, out value) ? value : key; 
} 

, но мы больше не иметь доступ к такому объекту ... Какая уловка для доступа к файлам cookie вне контроллера?

ответ

0

В ядре ASP.NET нет ничего как статического HttpContext.Current. Вам необходимо либо пройти путь (от вашего контроллера к методу использования), либо использовать инъекцию зависимостей для извлечения HttpContext (через IHttpContextAccessor, который должен быть доступен ранее). Затем вы можете использовать httpContext.Request.Cookies.Get("showonlykeys") для получения значения.

+0

пс. DNX немного устарел и больше не поддерживается. Обновить до RTM! – Thomas

Смежные вопросы