web-dev-qa-db-fra.com

Le noyau .net 'Response.Cookies.Append' ne fonctionne pas comme une station

J'utilise 'Response.Cookies.Append' pour définir la culture comme suggéré dans les documents ASP.NET Core 2.1 ( https://docs.Microsoft.com/en-us/aspnet/core/fundamentals/localization? view = aspnetcore-2.1 # implémentez une stratégie pour sélectionner la culture-linguistique-pour-chaque-demande ).

Et cela fonctionne parfaitement bien dans ma station. Mais quand mon collègue récupère mes changements, ça ne marche pas.

Pendant le débogage, j'ai trouvé que 'Response.Cookies.Append' n'avait pas ajouté le cookie. Quelqu'un d'autre rencontre le problème? Toute solution?

11
Soledad_Ice

Vous pourriez avoir un CookiePolicyOption configuré dans votre Startup.cs dans votre ConfigureServices-Method.

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

Si tel est le cas, vous pouvez définir le cookie avec le CookieOption.IsEssential = true ainsi:

var cookieOptions = new Microsoft.AspNetCore.Http.CookieOptions()
    {
      Path = "/", HttpOnly = false, IsEssential = true, //<- there
      Expires = DateTime.Now.AddMonths(1), 
    };
23
Erik Mandke