Cookie通常用来存储有关用户信息的一条数据,可以用来标识登录用户,Cookie存储在客户端的浏览器上。在大多数浏览器中,每个Cookie都存储为一个小文件。Cookie表示为键/值对的形式,可以利用键来读取、写入或删除Cookie。
在ASP.NET Core中也可以使用Cookie来维护回话状态,包含回话ID的Cookie会随着每个请求一起发送到客户端。
我们创建一个ASP.NET Core WebApi的项目,然后在WebApi中测试使用Cookie。
在项目中添加一个控制器,用来测试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信息:
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4