asp.net core 2.2 с использованием HttpCookieCollection в библиотеке классов - PullRequest
0 голосов
/ 24 декабря 2018

Я «обновляю» со старого .net до .net core 2.2 (очевидно, это не так просто, как обновление, а переписывание)

Это HttpCookieCollection не так доступнобольше.Для библиотеки классов .Net Core 2.2 какие примеры того, как получить доступ к этой коллекции файлов cookie?

private static string CollectionToHtmlTable(HttpCookieCollection collection)
{
    // Converts HttpCookieCollection to NameValueCollection
    var nvc = new NameValueCollection();
    foreach (string item in collection)
    {
        var httpCookie = collection[item];
        if (httpCookie != null)
        {
            nvc.Add(item, httpCookie.Value);
        }
    }

    return CollectionToHtmlTable(nvc);
}

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Я полагаю, что эквивалентный класс будет IRequestCookieCollection

К экземпляру этого объекта можно получить доступ в экземпляре запроса через HttpContext.Request.Cookies в контроллере.

0 голосов
/ 24 декабря 2018

Вы можете получить доступ к файлам cookie, используя HttpContext

. Для этого вам нужно добавить IHttpContextAccessor.использование:

public class MyClass
{
    private readonly IHttpContextAccessor _contextAccessor;
    public MyClass (IHttpContextAccessor contextAccessor)
    { 
         _contextAccessor = contextAccessor;
    }

    public void MyFunction()
    {
         var someCookie = _contextAccessor.HttpContext.Request.Cookies["someCookie"];
    }
}

Если вы находитесь в контроллере, вы можете напрямую использовать HttpContext.Request.Cookies["someCookie"]

public class HomeController : Controller
{
    public IActionResult About()
    {
        var someCookie = HttpContext.Request.Cookies["someCookie"];

        return View();
    }
}
...