ASP.Net Core Web API默认不支持Session,需要手动配置才能使用。下面是一种解决方案:
首先,在Startup.cs的ConfigureServices方法中,添加以下代码开启Session:
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
});
然后,在Startup.cs的Configure方法中,添加以下代码启用Session:
app.UseSession();
最后,在API的控制器中,可以使用HttpContext.Session访问Session:
[ApiController]
[Route("[controller]")]
public class SampleController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
HttpContext.Session.SetString("name", "John Doe");
string name = HttpContext.Session.GetString("name");
return Ok(name);
}
}
注意:Session需要依赖于Cookies,所以使用Session时,需要确保浏览器已启用Cookies。另外,Session也需要设置有效期和其他安全配置,以保证安全性和性能。这里只是提供一个基本的示例来演示如何使用Session。