在IIS中,为什么调用GetServerVariable("HTTP_URL")
类的HttpWorkerRequest
导致不同的值,具体取决于管道模式?
在集成模式下运行时,它会返回原始URL(服务器看到的例如“/SomeUrl/Default.ashx”)。
在经典模式下,似乎值是在浏览器中输入的网址(我的网址路由器将示例/ someurl映射到该特定处理程序)。
答案 0 :(得分:0)
终于解决了这个问题。结果我们正在做HttpContext.RewritePath
,我认为这会改变集成模式下GetServerVariable("HTTP_URL")
的结果。我们通过新增相应的IHttpHandler
并调用它来替换它,而不是重写路径。