Dans mon site, je me sers des formulaires authentication.And Je veux faire un WebRequest à cet effet je prends l'aide de CookieContainer Code .Mon est ceun Authentifier WebRequest en ajoutant les cookies throws erreur
string url = HttpContext.Current.Request.Url.AbsoluteUri;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
Cookie authenticationCookie = new Cookie(
FormsAuthentication.FormsCookieName,
cookie.Value,
cookie.Path,
HttpContext.Current.Request.Url.Authority);
req.CookieContainer = new CookieContainer();
req.CookieContainer.Add(authenticationCookie);
WebResponse res = req.GetResponse();
mais ce code renvoie une erreur « le = « domaine » « localhost: 300 ». partie du cookie est invalide » .Ainsi j'ai trouvé l'erreur provient de cette ligne de code
Cookie authenticationCookie = new Cookie(
FormsAuthentication.FormsCookieName,
cookie.Value,
cookie.Path,
HttpContext.Current.Request.Url.Authority);
l'URL de le site est localhost: 300. Je suis incapable de trouver une solution pour cela. Quelqu'un peut-il me dire ce qui s'est mal passé?
I Je ne sais pas pourquoi, mais lorsque l'exécution du code atteint cette ligne "WebResponse res = req.GetResponse();" il retourne à la première ligne (HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url);) comme dans une boucle. Enfin, une erreur se produit "La requête a été abandonnée: l'opération a expiré." – Athul
Je ne sais pas pourquoi cela pourrait se produire. Peut-être que vous avez plusieurs threads. Difficile à dire du code que vous avez montré. Peut-être que le problème est du côté du serveur. Maintenant que vous êtes authentifié avec succès, il doit y avoir un autre problème sur le serveur. Vous pouvez activer la trace réseau et voir exactement ce qui est envoyé sur le réseau en suivant ces étapes: http://msdn.microsoft.com/en-us/library/ty48b824.aspx. Ou utilisez simplement un outil comme Fiddler pour voir ce qui se passe sous les couvertures. –