问题描述
我有一些 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 包(有两个),解决了问题!