Session ASP.NET核心Web API中的会话值始终为空
我正在尝试将这些值存储在asp.net核心web api项目的会话中。我引用了下面的链接来存储会话中的值。Session ASP.NET核心Web API中的会话值始终为空,session,asp.net-core-2.0,Session,Asp.net Core 2.0,我正在尝试将这些值存储在asp.net核心web api项目的会话中。我引用了下面的链接来存储会话中的值。 但是,在获取会话值时,我总是得到null。您需要提供有关不起作用的代码的更多详细信息。但基本上您可以参考以下步骤: 添加ASP.NET Core 2.0 web api应用程序 安装Microsoft.AspNetCore.Session NuGet软件包 修改Startup.cs,在ConfigureServices函数中调用AddDistributedMemoryCache和AddS
但是,在获取会话值时,我总是得到null。您需要提供有关不起作用的代码的更多详细信息。但基本上您可以参考以下步骤:
AddDistributedMemoryCache
和AddSession
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();
}
http://localhost:xxxxx/api/ControllerName/setSession/derek
设置会话,并调用http://localhost:xxxxx/api/ControllerName/getSession
获取会话数据以下教程将帮助在ASP.Net核心Web API应用程序的服务器端设置会话值
这对我不起作用。每当有新请求传入时,所有值都为空。这就好像它不知道这些请求来自同一个人。我有一个在端口5000上运行的.Net核心API和一个在端口4200上运行的angular 5应用程序。同样的事情也发生在我身上。。。你有什么解决办法吗?
[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);
}