2008-08-29 78 views
3

这是一个奇怪的。我正在重新使用一个不幸不能更新的代码库。此代码拨打HttpContext.Current.Request.QueryString。理想情况下,我需要在创建每个请求时向这个集合中添加一个值。这可能 - 可能在HTTP模块中?更新/拦截HttpContext.Current.Request.QueryString

回答

6

如果不使用反射,最简单的方法就是在当前的HttpContext对象上使用RewritePath函数来修改查询字符串。

使用一个IHttpModule,它可能看起来像:

context.RewritePath(context.Request.Path, context.Request.PathInfo, newQueryStringHere!); 

希望这有助于!

0

Ditto Espo的答案,我想补充说,通常在中等信任(特定于许多共享主机),您将无法访问反射,所以... RewritePath将仍然是您唯一的选择。