Bonjour,
J'ai developpé un site web en plusieurs couches. L'interfacage avec la base de données se fait en appel Restful comme ceci :
Je prends l'Exemple d'un time out de cet appel. Il va generer une erreur comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part response = (HttpWebResponse)_Req.GetResponse();
Jusque la pas de souci, je recupere bien tout ce que je veux. Par contre, me situant dans un page web je perds le contexte de la page demandée, comme par exemple les request.servervariables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 catch (System.Web.HttpException httpexcept) { ExceptionRestCall restException = new ExceptionRestCall(httpexcept.Message); }
j'ai pensé creer une propriete dans la classe qui fait l'appel de facon a preciser le cotnext web de ma requete rest :
et ainsi preciser mon exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public System.Web.HttpContext HttpContextOfTheCall { get { return _HttpContextOfTheCall; } set { _HttpContextOfTheCall = value; } }
J'en arrive á ma question finalement : Dans une application web standard, developpée en couches, jusqu'à quelle couche vous permettez vous d'utiliser HttpContext.Current? Dois il forcement partir de la base, de la page web?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (_HttpContextOfTheCall != null) { restException.HTTPServerVariables.HTTP_USER_AGENT = _HttpContextOfTheCall.Request.ServerVariables["HTTP_USER_AGENT"]; }
Merci de votre lecture déjà et encore plus de vos remarques...
Partager