httpContext.Current.Request.RawUrl 用于返回带有扩展名的路径

问题描述

我有一些 asp.net c# 代码,用于获取路径名并将其用于各种授权和身份验证任务。在我们的网站项目中,这是返回路径(带扩展名,例如:index.aspx?querystringparam1=3&qp2=4):

string strPath = HttpContext.Current.Request.RawUrl;

这用于返回“index.aspx?querystringparam1=3&qp2=4”。

但是,在我们转换为 Web 应用程序项目的工作中,同一行代码现在返回没有扩展名的 url:“index?querystringparam1=3&qp2=4”。

我如何才能恢复旧行为?这似乎是某处的 IIS 设置,因为返回到同一 IIS 实例上的网站项目不会恢复到旧功能

解决方法

好的。我发现了问题。看起来 Visual Studio 以其无限的智慧安装了两个组成 Microsoft Friendly Url (DynamicModule_Microsoft.AspNet.FriendlyUrls.FriendlyUrlsModule) 的包,它通过在到达站点代码之前向浏览器发送永久重定向来从路径文件中删除扩展名。

而且,删除那些 NuGet 包(有两个),解决了问题!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...