我已经看到了Server.MapPath()和HostingEnvironment.MapPath()之间的区别。
但我无法理解为什么我会遇到这种奇怪的行为 -
HttpContext.Current.ApplicationInstance.Server.MapPath("~/Data/File.txt")
在本地工作正常,当本地计算机上的IIS托管该站点时。
但是当我发布到远程服务器时,它失败了。并使用
System.Web.Hosting.HostingEnvironment.MapPath("~/Data/File.txt")
解决了这个问题。
这里到底发生了什么?