在每个请求中,Web API中都会生成新会话

时间:2019-04-15 07:12:55

标签: c# .net session asp.net-core-2.0

每次在控制器中命中新请求时,都会生成新的会话ID,因此我会丢失以前的值。

使用.net Core API 2.2.0

“ Startup.cs”

        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => false; // Default is true, make it false
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });
        services.AddDistributedMemoryCache();
        services.AddSession();

1 个答案:

答案 0 :(得分:0)

似乎您正在处理API。如果我不得不猜测,则不会使用服务器最初通过Cookie响应标头返回的值在每个请求中传递Set-Cookie标头。 Web浏览器会针对Web应用程序请求自动处理此类事情。但是,API是另一种方式,您需要手动进行操作。

也就是说,被假定为是无状态的,因此通常不支持会话和/或cookie的想法。完全不应该将Session与API项目一起使用。每个请求应包含为该请求提供服务所需的所有数据。否则,您将在API中引入各种问题。