Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies asp.net核心会话不工作,在响应头中设置cookie,但未在浏览器中设置_Cookies_Browser_Asp.net Core_Setcookie_Cookie Httponly - Fatal编程技术网

Cookies asp.net核心会话不工作,在响应头中设置cookie,但未在浏览器中设置

Cookies asp.net核心会话不工作,在响应头中设置cookie,但未在浏览器中设置,cookies,browser,asp.net-core,setcookie,cookie-httponly,Cookies,Browser,Asp.net Core,Setcookie,Cookie Httponly,我使用会话管理ASP.NET CORE中的应用程序状态,配置如下 services.AddSession(options => { options.CookieName = ".my.Session"; options.IdleTimeout = TimeSpan.FromSeconds(20); }); 它在本地主机上工作,但在远程IIS 8上,它没有创建cookie,因此

我使用会话管理ASP.NET CORE中的应用程序状态,配置如下

 services.AddSession(options =>
            {
                options.CookieName = ".my.Session";
                options.IdleTimeout = TimeSpan.FromSeconds(20);
            });
它在本地主机上工作,但在远程IIS 8上,它没有创建cookie,因此无法获取值。我也启用了CORS,但不知道到底是什么导致了这个问题。在日志中也没有显示错误。 响应标头集cookie存在,但未在浏览器中设置

services.AddSession(options => 
{ 
    options.IdleTimeout = TimeSpan.FromMinutes(20); 
    options.CookieHttpOnly = true; 
});

可能它正在工作,现在试试吧

我不久前就遇到了这个问题。它可能与新的Cookie策略有关

尝试设置
options.checkApproveRequired=context=>false。因此,在Startup.cs中的“ConfigureServices”中,需要如下所示:

public void ConfigureServices(IServiceCollection services)
        {
            var connection = Configuration["ConnectionStrings:DefaultConnection"];
            services.AddDbContext<ProjectDbContext>(options => options.UseMySql(connection, b => b.MigrationsAssembly("PrimaryProject")));

            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.

                //Here comes the change:
                options.CheckConsentNeeded = context => false;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });



            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseMySql(connection));
            services.AddDefaultIdentity<IdentityUser>()
                .AddEntityFrameworkStores<ApplicationDbContext>();



            services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddSessionStateTempDataProvider();

            services.AddSession();
        }
public void配置服务(IServiceCollection服务)
{
var connection=Configuration[“ConnectionString:DefaultConnection”];
services.AddDbContext(options=>options.UseMySql(connection,b=>b.MigrationsAssembly(“PrimaryProject”));
配置(选项=>
{
//此lambda确定给定请求是否需要非必要cookie的用户同意。
//变化来了:
options.checkApprovered=context=>false;
options.MinimumSameSitePolicy=SameSiteMode.None;
});
services.AddDbContext(选项=>
options.UseMySql(连接));
services.AddDefaultIdentity()
.AddEntityFrameworkStores();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddSessionStateTempDataProvider();
services.AddSession();
}
问候,


你找到解决办法了吗?我这里也有同样的问题。