Toutes les limites du navigateur d'une manière ou d'une autre le montant des cookies qu'un certain site Web peut stocker. Si, par exemple, votre navigateur accepte n cookies, lorsque vous envoyez le n + 1 le navigateur supprimera votre plus ancien. Il me semble que c'est ce qui se passe.
Une solution possible consiste à utiliser un cookie avec diverses sous-valeurs au lieu d'une seule. De cette façon, vous pouvez avoir dans un cookie autant de valeurs que vous le souhaitez (soumis toujours à la limite de taille maximale des cookies qui est de 4086 octets).
Le code pour le faire serait quelque chose comme:
//This code creates the cookie, ads some subvalues to it and then adds it to the request so its sent to the browser
HttpCookie cookie = new HttpCookie();
cookie.Name = "MyKeys";
cookie.Values.Add("Key1", "ValueKey1");
cookie.Values.Add("Key2", "ValueKey2");
cookie.Values.Add("Key3", "ValueKey3");
//etc...
Request.Cookies.Add(cookie);
//This code reads the data from the cookie.
HttpCookie rcookie = Response.Cookies.Get("MyKeys");
string value1, value2, value3;
//We verify it the variable is null because the cookie might not exist in the users browser. If so, this variable would be null
if (rcookie != null)
{
value1 = rcookie.Values.Get("Key1");
value2 = rcookie.Values.Get("Key2");
value3 = rcookie.Values.Get("Key3");
}