gpt4 book ai didi

session Cookie 从未在 asp.net core 中设置

转载 作者:行者123 更新时间:2023-12-02 03:33:32 26 4
gpt4 key购买 nike

我正在尝试为 asp.net core 2.0 网站配置 session ,但 session cookie 从未设置。

我打电话..

app.UseSession();

...在 Startup.Configure 和 ...

        services.AddDistributedMemoryCache();

services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(10);
options.Cookie.HttpOnly = false;
options.Cookie.Name = "WS_AUTH_ID";
});

...在ConfigureServices 方法中。

在 Controller 中我可以访问...

HttpContext.Session.Id;

...但是每个请求的 id 总是不同的。

我错过了什么吗?

更新:我应该提到,我可以“手动”设置 cookie,浏览器将“接收”它们。

HttpContext.Response.Cookies.Append("Test_cookie", "yo");

最佳答案

这就是我的原因:

扩展 Microsoft.AspNetCore.CookiePolicy (UseCookiePolicy) 阻止了 session cookie。删除此扩展并在新的浏览器窗口中运行应用程序解决了该问题。

基本原理:此扩展程序会阻止发送到浏览器的 cookie,直到用户接受它们为止。由于 session key 存储在 cookie 中,并且此扩展会阻止 cookie...没有 cookie,就没有 session 。

另一个解决方法可能是使应用程序能够在没有 session 的情况下工作,直到用户接受 cookie(我没有测试此解决方法)。

希望有帮助。

关于 session Cookie 从未在 asp.net core 中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49276449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com