C#, ASP.Net : HttpContext.Current.Request

Cet objet, accessible via le namespace System.Web, est utile voire nécessaire lorsqu’on programme une page Web. Il renseigne en effet sur toutes les propriétés de la requête HTTP actuelle.

On peut accéder à l’ensemble de ces propriétés via une collection :

NameValueCollection pColl = HttpContext.Current.Request.Params;

Ou plus simplement en récupéreant chacune de ces propriétés une à une. Si par exemple je veux récupérer toutes les informations sur la requête utilisée pour appeller un script :

http://www.maboutique.com/commande/ajouter.aspx?confirmation=ok

Je peux utiliser l’une des propriétés suivantes de l’objet HttpContext.Current.Request.Url :

HttpContext.Current.Request.Url.AbsolutePath = /commande/ajouter.aspx
HttpContext.Current.Request.Url.AbsoluteUri = http://www.maboutique.com/commande/ajouter.aspx?confirmation=ok
HttpContext.Current.Request.Url.Authority = www.maboutique.com
HttpContext.Current.Request.Url.DnsSafeHost = www.maboutique.com
HttpContext.Current.Request.Url.Fragment =
HttpContext.Current.Request.Url.Host = www.maboutique.com
HttpContext.Current.Request.Url.HostNameType= Dns
HttpContext.Current.Request.Url.IsAbsoluteUri = True
HttpContext.Current.Request.Url.IsFile = False
HttpContext.Current.Request.Url.LocalPath = /commande/ajouter.aspx
HttpContext.Current.Request.Url.OriginalString = http://www.maboutique.com:80/commande/ajouter.aspx?confirmation=ok
HttpContext.Current.Request.Url.PathAndQuery = /commande/ajouter.aspx?confirmation=ok
HttpContext.Current.Request.Url.Port = 80
HttpContext.Current.Request.Url.Query = ?confirmation=ok
HttpContext.Current.Request.Url.Scheme = http
HttpContext.Current.Request.Url.UserEscaped = False
HttpContext.Current.Request.Url.UserInfo =

Et si je veux lire les cookies liés au domaine de ce script je n’ai qu’à prendre la main sur l’objet Cookies :

HttpCookie Cookie = HttpContext.Current.Request.Cookies.Get(NomDuCookie);

Par contre pour créer/modifier les cookies de ce domaine il me faudra passer par un autre objet que HttpContext.Current.Request. Il me faudra dans ce cas utilisé l’objet HttpContext.Current.Response (ou pour les cookies HttpContext.Current.Response.Cookies).

Nota Bene : 
L’alias Request est parfois utilisé à la place de HttpContext.Current.Request.
L’alias Response est parfois utilisé à la place de HttpContext.Current.Response.

 

@+
rv.

 

Bibliographie :
– System.Web, espace de noms : http://msdn.microsoft.com/fr-fr/library/w7f1y429(v=VS.100).aspx
– HttpRequest.Params Property : http://msdn.microsoft.com/en-us/library/system.web.httprequest.params.aspx
– Cookies.cs : http://code.google.com/p/yuanjinhui/source/browse/Yeexin_MVC/Common/Cookie.cs?spec=svn10&r=10
– Working With HttpContext.Current : http://odetocode.com/Articles/112.aspx

A propos arcturien

E.T being from Arcturus Star System... ;-)
Cet article a été publié dans Computer and Internet. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s