更新/拦截HttpContext.Current.Request.QueryString

时间:2020-03-05 18:44:57  来源:igfitidea点击:

这是一个奇怪的人。我正在重用一个代码库,不幸的是它不能被更新。此代码调用HttpContext.Current.Request.QueryString。理想情况下,我需要在每次提出请求时都将一个值推入该集合中。这可能在HTTP模块中吗?

解决方案

回答

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

使用IHttpModule,它可能类似于:

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

希望这可以帮助!

回答

Ditto Espo的回答,我想补充一下,通常以中等信任(特定于许多共享主机),我们将无法获得反射,因此... RewritePath可能仍然是我们唯一的选择。