j'ai une situation où je veux utiliser un cookie avec ces 2 sous-domaines app.example.com (ASP.NET) et appapi.example.com (Web API). Je suis en mesure de mettre le cookie avec succès en utilisant l'API comme ceci:Comment utiliser un cookie avec des sous-domaines
public HttpResponseMessage Get()
{
...
var result = jsonHelper.setHttpResponseMessage(obj);
List<CookieHeaderValue> cookies = new List<CookieHeaderValue>();
NameValueCollection values = new NameValueCollection();
values["Value1"] = value1;
values["Value2"] = value2;
values["Value3"] = value3;
CookieHeaderValue cookie = new CookieHeaderValue("MyCookie", values);
/*#if DEBUG
cookie.Domain = Request.RequestUri.Host;
#else*/
cookie.Domain = ".example.com"; //I made this based on the answers to the questions posted below
//#endif
cookie.Path = "/";
cookie.Expires = DateTime.Now.AddHours(1);
cookie.HttpOnly = true;
cookies.Add(cookie);
result.Headers.AddCookies(new CookieHeaderValue[] { cookie });
return result;
}
J'utilise Postman et je reçois une réponse qui ressemble à ceci sous l'onglet Cookie:
Name Value
MyCookie Value1=2&Value2=test&Value3=val
Ensuite, J'envoie le cookie à app.example.com/Page.aspx en utilisant Postman. Le code à Page.aspxPage_Load ressemble à ceci:
if (!IsPostBack)
{
if (Request.Cookies["MyCookie"] != null)
{
var myCookie = Request.Cookies["MyCookie"].Values;
var value1 = myCookie["Value1"];
var value2 = myCookie["Value2"];
}
...
Ici, je ne reçois pas les valeurs que je veux ce qui signifie que Request.Cookies["MyCookie"]
est null
Je suis au courant et this questionthis one que j'ai implémenté ci-dessus, mais je n'ai toujours pas résolu mon problème. Sur la base de cela, je crois qu'il est possible d'utiliser un cookie avec 2 ou plusieurs sous-domaines, donc j'ai besoin de savoir comment l'implémenter correctement.
je ne pense pas que vous avez fait quelque chose de mal, il a été probablement vous ne fixez pas le cookie à votre demande de postier correctement. En fait, vous n'avez même pas besoin de définir le domaine cookie si vous utilisez le facteur pour tester, bien sûr pour le déploiement réel, vous devez l'avoir, ce que j'essaie d'expliquer, c'est que votre problème n'est pas lié à votre code. parce que le domaine de cookie est utilisé par les navigateurs pour déterminer s'ils doivent joindre le cookie à la demande, puisque vous pouvez placer manuellement votre cookie dans le facteur, cela n'a aucune importance –
@RayH Pouvez-vous s'il vous plaît indiquer comment un cookie devrait être envoyé en utilisant Postman? Je l'ajoute sous ** Onglet En-têtes **, ** Clé ** = Cookie, ** Valeur ** = MyCookie – Ahmed