首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

如何处理ASP .NET Core中的cookie?

2019-12-22
怎么处理ASP .NET Core中的cookie?

cookie是一般用于存储有关用户信息的一条数据,存储在用户的核算机上。在大多数浏览器中,每个cookie都存储为一个小文件,但在Firefox中,它们一同存储在一个文件中。 cookie表明为键值对,你能够运用键来读取、写入或删去cookie。

ASP.NET Core运用cookie来保护会话状况。包括会话ID的cookie随每个恳求一同发送到客户端。本文评论了怎么处理ASP.NET Core中的cookie。

若要运用本文供给的代码示例,你应该在体系中装置Visual Studio 2019。假如还没有一份,能够在此处下载Visual Studio 2019。

在Visual Studio中创立ASP.NET Core MVC项目

先无妨在Visual Studio 2019中创立一个ASP.NET Core MVC项目。假定体系中已装置Visual Studio 2019,请依照以下概述的过程,在Visual Studio中创立一个新的ASP.NET Core MVC项目。

现在,你应该现已预备好在Visual Studio中运用一个新的ASP.NET Core MVC项目。咱们将在本文的后续部分运用该项目。

在ASP.NET Core中读取cookie

你能够从Request.cookies调集读取cookie。下面的代表片段阐明了怎么从ASP.NET Core中的Request目标读取cookie。

string cookie = Request.Cookies[ Key ]; 

假如你想指定cookie的到期失效时刻,能够运用Append办法的重载版别,如下面给出的代码片段所示。

CookieOptions option = new CookieOptions; option.Expires = DateTime.Now.AddMilliseconds; Response.Cookies.Append; 

cookieOptions类使你能够在创立cookie时指定以下额定特点:

在ASP.NET Core中写入cookie

想写入cookie,你能够运用与Request目标有关的Append办法。以下代码片段阐明了怎么做到这一点。

Response.Cookies.Append; 

在ASP.NET Core中删去cookie

若要删去cookie,能够运用与Request目标有关的cookies调集的Delete办法。以下代码片段阐明了怎么做到这一点。

Response.Cookies.Delete; 

在ASP.NET Core中拜访HttpContext

在本节中,咱们将介绍怎么在ASP.NET Core中处理cookie数据。咱们需求拜访HttpContext才干拜访Request目标。你能够运用IHttpContextAccessor接口,拜访ASP.NET Core中的HttpContext。HttpContextAccessor类完成该接口。

首要,你应该注册IHttpContextAccessor用于依靠项注入。以下代码片段阐明了怎么在Startup类的ConfigureServices办法中增加类型HttpContextAccessor的单一服务。

public void ConfigureServices { services.AddSingleton HttpContextAccessor  //Other code } 

你能够运用依靠项注入来取得IHttpContextAccessor实例的引证。这将反过来为你供给HttpContext的引证。

以下代码片段阐明了怎么拜访控制器中的IHttpContextAccessor实例。请注意,当你在Visual Studio中创立新的ASP.NET Core MVC项目后,默许情况下将创立HomeController。

public class HomeController : Controller { private readonly IHttpContextAccessor _httpContextAccessor; public HomeController { this._httpContextAccessor = httpContextAccessor; } //Write your action methods here } 

在ASP.NET Core控制器办法中写入cookie数据

你能够运用以下办法在控制器中写入cookie数据。

public IActionResult Write { CookieOptions options = new CookieOptions; if  options.Expires = DateTime.Now.AddDays; else options.Expires = DateTime.Now.AddSeconds; _httpContextAccessor.HttpContext.Response.Cookies.Append ; return View; } 

在ASP.NET Core控制器办法中读取cookie数据

一旦cookie数据成功写入,能够运用以下办法在控制器中读取cookie数据。

public IActionResult Read { ViewBag.Data = _httpContextAccessor.HttpContext.Request.Cookies[key]; return View; } 

要检查cookie是否已正确写入,能够检查Web浏览器的cookie缓存。

原文标题:How to work with cookies in ASP.NET Core, 作者:Joydip Kanjilal

热门文章

随机推荐

推荐文章