怎样样处理ASP .NET Core中的cookie?

2019-11-08 18:51| 发布者: 汇众注册平台| 查看: |

怎样样处理ASP .NET Core中的cookie?

【汇众.com快译】cookie是通常用于存储有关用户信息的一条数据,存储在用户的计算机上。在大多数涉猎器中,每个cookie都存储为一个小文献,但在Firefox中,它们一齐存储在一个文献中。 cookie表明为键值对,你可以使用键来读取、写入或删除cookie。

ASP.NET Core利用cookie来保护会话情态。蕴涵会话ID的cookie随每个建议一齐发送到客户端。本文议论了怎样样处理ASP.NET Core中的cookie。

若要利用本文供应的代码示例,你应该在体系中安装Visual Studio 2019。要是还没有一份,可以在此处下载Visual Studio 2019(https://visualstudio.microsoft.com/downloads/)。

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

先不妨在Visual Studio 2019中创建一个ASP.NET Core MVC项目。假设体系中已安装Visual Studio 2019,请按照以下概述的步骤,在Visual Studio中创建一个新的ASP.NET Core MVC项目。

启动Visual Studio IDE。

点击“创建新项目”。

在“创建新项目”窗口中,从卖弄的模板列表中抉择“ASP.NET Core Web运用程序”。

点击“下一步”。

在“配置新项目”窗口中,指定新项目标名称和地位。

可选状况下,选中“将解决方案和项目放在同一个目录中”复选框。

点击“创建”。

在接下来卖弄的“创建新的ASP.NET Core Web运用程序”窗口中,从顶部下拉列表中抉择.NET Core作为运行时环境,并抉择ASP.NET Core 2.2(或更高版本)。

抉择“Web运用程序(Model-View-Controller)”作为项目模板,以创建新的ASP.NET Core MVC运用程序。

确保“启用Docker支撑”和“配置HTTPS”这两个复选框未勾选,由于咱们在这里不会利用这些功能。

确保“身份验证”设置为“不进行身份验证”,由于咱们在这里也不会利用身份验证。

点击“创建”。

如今,你应该曾经预备好在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(10);  

Response.Cookies.Append(key, value, option); 

cookieOptions类使你可以在创建cookie时指定以下额外属性:

域—用于指定与cookie有关的域

到期失效空儿—用于指定cookie的到期失效空儿

路径—用于指定cookie路径

安全政策—用于指定cookie是否可以经过HTTPS来访问

HttpOnly—用于指定cookie是否仅对服务器可用

在ASP.NET Core中写入cookie

想写入cookie,你可以使用与Request对象有关的Append方法。以下代码片断解释了怎样样做到这一点。

Response.Cookies.Append(somekey, somevalue); 

在ASP.NET Core中删除cookie

若要删除cookie,可以利用与Request对象有关的cookies集合的Delete方法。以下代码片断解释了怎样样做到这一点。

Response.Cookies.Delete(somekey); 

在ASP.NET Core中访问HttpContext

在本节中,咱们将引见怎样样在ASP.NET Core中处理cookie数据。咱们须要访问HttpContext才能访问Request对象。你可以利用IHttpContextAccessor接口,访问ASP.NET Core中的HttpContext。HttpContextAccessor类实现该接口。

首先,你应该注册IHttpContextAccessor用于依附项注入。以下代码片断解释了怎样样在Startup类的ConfigureServices方法中添加类型HttpContextAccessor的单一服务。

public void ConfigureServices(IServiceCollection services)  

 

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(IHttpContextAccessor httpContextAccessor)  

 this._httpContextAccessor = httpContextAccessor;  

 

//Write your action methods here  

在ASP.NET Core节制器方法中写入cookie数据

你可以利用以下方法在节制器中写入cookie数据。

public IActionResult Write(string key, string value, bool isPersistent)  

 

CookieOptions options = new CookieOptions();  

if (isPersistent)  

options.Expires = DateTime.Now.AddDays(1);  

else  

options.Expires = DateTime.Now.AddSeconds(10);  

_httpContextAccessor.HttpContext.Response.Cookies.Append  

(key, value, options);  

return View("WriteCookie");  

在ASP.NET Core节制器方法中读取cookie数据

一旦cookie数据失败写入,可以利用以下方法在节制器中读取cookie数据。

public IActionResult Read(string key 

 

ViewBag.Data =  

_httpContextAccessor.HttpContext.Request.Cookies[key];  

return View("ReadCookie");  

要反省cookie是否已准确写入,可以察看Web涉猎器的cookie缓存。

<
>
汇众平台拥有强大的财团支持,信誉与资金有保障!本站为您提供汇众注册、汇众登录、汇众手机APP客户端下载等。欢迎您的加入,24小时客服在线服务!目前旗下有汇众平台有限公司、汇众平台科技有限公司、汇众平台设备有限公司;致力于建成产品丰富的娱乐业航母!

联系我们

(服务时间:9:00-18:00)

4837899@qq.com

在线咨询 官方微信官方微信

部门热线

前   台:
业务部:
客服部:
技术部:
人事部:

网站建设 微信开发 售后服务 咨询电话 返回顶部
返回顶部