我有一些 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 友好 URL (
DynamicModule_Microsoft.AspNet.FriendlyUrls.FriendlyUrlsModule
) 的包,这会在到达站点代码之前向浏览器发送永久重定向,从而从路径文件中删除扩展名。
删除这两个 NuGet 包即可解决问题。