0
respostas

Carrinho só adiciona um produto por vez. [Solução].

Quem, assim como eu, tava fazendo as aulas usando netcore 2.1+, deve ter percebido que os itens do carrinho não salvavam de jeito nenhum. Um problema nas configurações da session.

Pra solucionar basta adicionar as seguintes opções:

            services.AddSession(option =>
            {
                option.IdleTimeout = TimeSpan.FromSeconds(1200);
                option.Cookie.HttpOnly = true;
                option.Cookie.IsEssential = true;
            });

E na parte dos middlewares, descer o app.UseSession para depois do app.UseCookiePolicy. Caso contrário, o método SetPedidoId irá sempre retornar uma valor nulo pra session.

Antes -> Depois

            app.UseHttpsRedirection();    |    app.UseHttpsRedirection(); 
            app.UseStaticFiles();            |    app.UseStaticFiles();
            app.UseSession();                |    app.UseCookiePolicy();
            app.UseCookiePolicy();        |    app.UseSession();