为什么GetServerVariable(“HTTP_URL”)根据管道模式返回不同的值

时间:2012-07-13 12:06:30

标签: asp.net iis-7 integrated-pipeline-mode

在IIS中,为什么调用GetServerVariable("HTTP_URL")类的HttpWorkerRequest导致不同的值,具体取决于管道模式?

集成模式下运行时,它会返回原始URL(服务器看到的例如“/SomeUrl/Default.ashx”)。

经典模式下,似乎值是在浏览器中输入的网址(我的网址路由器将示例/ someurl映射到该特定处理程序)。

1 个答案:

答案 0 :(得分:0)

终于解决了这个问题。结果我们正在做HttpContext.RewritePath,我认为这会改变集成模式GetServerVariable("HTTP_URL")的结果。我们通过新增相应的IHttpHandler并调用它来替换它,而不是重写路径。