我正在尝试将值存储在asp.net核心Web api项目中的会话中。我已经引用了以下链接以将值存储在会话中。 https://andrewlock.net/an-introduction-to-session-storage-in-asp-net-core/
但是我总是在获得会话值时得到null。
答案 0 :(得分:1)
您需要提供有关无效代码的更多详细信息。但基本上,您可以参考以下步骤:
修改您的Startup.cs,在ConfigureServices函数中调用AddDistributedMemoryCache
和AddSessio
n方法,并在Configure函数中添加UseSession
方法:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDistributedMemoryCache();
services.AddSession();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseSession();
app.UseMvc();
}
在控制器中获取/设置会话(使用Microsoft.AspNetCore.Http;):
[HttpGet("setSession/{name}")]
public IActionResult setsession(string name)
{
HttpContext.Session.SetString("Name", name);
return Ok("session data set");
}
[HttpGet("getSession")]
public IActionResult getsessiondata()
{
var sessionData = HttpContext.Session.GetString("Name");
return Ok(sessionData);
}
http://localhost:xxxxx/api/ControllerName/setSession/derek
进行api调用以设置会话,并调用http://localhost:xxxxx/api/ControllerName/getSession
以获得会话数据。答案 1 :(得分:0)
以下教程将帮助您在ASP .Net Core Web API应用程序的服务器端设置会话值。