关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

.NET Core在ASP.NET Core WebApi中使用Cookie

发布时间:2020-08-07 18:34:03

.NET Core:在ASP.NET Core WebApi中使用Cookie

一、Cookie的作用

Cookie通常用来存储有关用户信息的一条数据,可以用来标识登录用户,Cookie存储在客户端的浏览器上。在大多数浏览器中,每个Cookie都存储为一个小文件。Cookie表示为键/值对的形式,可以利用键来读取、写入或删除Cookie

ASP.NET Core中也可以使用Cookie来维护回话状态,包含回话IDCookie会随着每个请求一起发送到客户端。

二、在ASP.NET Core中使用Cookie

我们创建一个ASP.NET Core WebApi的项目,然后在WebApi中测试使用Cookie

1、在控制器中直接使用Cookie

在项目中添加一个控制器,用来测试Cookie

1.1、设置Cookie

我们在控制器里面可以使用下面的代码设置Cookie

HttpContext.Response.Cookies.Append("setCookie", "CookieValue");

如果想设置Cookie的过期时间,我们可以使用Append的重载方法:

CookieOptions options = new CookieOptions();// 设置过期时间

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

HttpContext.Response.Cookies.Append("setCookieExpires", "CookieValueExpires", options);

控制器里面的方法代码如下:

 

using System;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Mvc;

namespace CookieDemo.Controllers

{

    [Route("api/")]

    [ApiController]

    public class CookieTestController : ControllerBase

    {

        /// <summary>

        /// 设置Cookie

        /// </summary>        [HttpGet]

        [Route("SetCookie")]

        public void Get()

        {

            HttpContext.Response.Cookies.Append("setCookie", "CookieValue");

         

            CookieOptions options = new CookieOptions();

            // 设置过期时间

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

            HttpContext.Response.Cookies.Append("setCookieExpires", "CookieValueExpires", options);

        }

    }

}

 

CookieOptions类可以在创建Cookie时指定如下的附加属性:

1. 域:用于指定与Cookie关联的域。

2. 过期时间:用于指定Cookie的过期时间。

3. 路径:用于指定Cookie路径。

4. 安全策略:用于指定Cookie是否可以通过HTTPS访问。

5. HttpOnly:用于指定Cookie是否仅对服务器可用。

运行程序,我们首先访问WeatherForecast控制器,并且查看Cookie信息:



/template/Home/Zkeys/PC/Static