Mise À Jour/Interception HttpContext.Actuel.Demande.QueryString
-
09-06-2019 - |
Question
Voici un bizarre un.Je suis la réutilisation d'une base de code qui, malheureusement, ne doit pas être mis à jour.Ce code fait appel à HttpContext.Current.Request.QueryString
.Idéalement, je dois pousser une valeur dans cette collection avec chaque demande qui est faite.Est-ce possible - peut-être dans un Module HTTP?
La solution
Sans l'aide de la réflexion, de la façon la plus simple serait d'utiliser le RewritePath fonction de l'actuel HttpContext objet afin de modifier la chaîne de requête.
À l'aide d'un IHttpModule, il pourrait ressembler à quelque chose comme:
context.RewritePath(context.Request.Path, context.Request.PathInfo, newQueryStringHere!);
Espérons que cette aide!
Autres conseils
Idem Espo de réponse et je tiens à ajouter que, généralement à un niveau de confiance moyen (spécifique à de nombreux hébergements partagés) vous n'aurez pas accès à la réflexion, donc ...RewritePath restera probablement votre seul choix.