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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
response = (HttpWebResponse)_Req.GetResponse();
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
1
2
3
4
catch (System.Web.HttpException httpexcept)
{
ExceptionRestCall restException = new ExceptionRestCall(httpexcept.Message);
}
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.

j'ai pensé creer une propriete dans la classe qui fait l'appel de facon a preciser le cotnext web de ma requete rest :

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; }
        }
et ainsi preciser mon exception :

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"];
                }
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?


Merci de votre lecture déjà et encore plus de vos remarques...