HttpContext.Current.Server.MapPath() 返回不一致的结果

HttpContext.Current.Server.MapPath() returning inconsistent results

我在使用 HttpContext.Current.Server.MapPath() 时遇到了一个奇怪的问题。 如果我打电话

HttpContext.Current.Server.MapPath("/")

HttpContext.Current.Server.MapPath("~")

我返回“C:\GitHub\MyWebApp”,这是我所期望的。但是如果我打电话给

HttpContext.Current.Server.MapPath("/folder")

HttpContext.Current.Server.MapPath("~/folder")

我正在获取“C:\folder”。我希望得到 "C:\GitHub\MyWebApp\folder"

我不明白这怎么会出错。 我是 运行 .Net 4.6.1 并使用 Visual Studio 2019 在 Windows 上调试,以防有任何不同。

恐怕这个有点尴尬 - 一个脚本在我的 IIS 配置中添加了一个虚拟文件夹,这是将“文件夹”重定向到“C:\folder”。回答是正确的,他们只是把我弄糊涂了,我在问问题之前没有发现配置。

感谢所有花时间思考这个问题的人。