小编典典

Server.MapPath 和 HostingEnvironment.MapPath 有什么区别?

all

Server.MapPath()和有什么区别HostingEnvironment.MapPath()吗?Server.MapPath()有什么优势吗HostingEnvironment.MapPath()

我最初的问题是在服务器上映射文件路径时HttpContext不存在并且我无法将Server变量传递Global.asax给我的方法。

HostingEnvironment.MapPath()改用它,因为它不需要HttpContext. 是否存在这两种方法会给出不同结果的情况?


阅读 197

收藏
2022-07-29

共1个答案

小编典典

Server.MapPath()最终调用HostingEnvironment.MapPath(),但它创建一个VirtualPath具有特定选项的对象:

VirtualPath传递给的对象HostingEnvironment.MapPath()是这样构造的:

VirtualPath.Create(path,

VirtualPathOptions.AllowAllPath|VirtualPathOptions.AllowNull);

编辑 :实际上,唯一的区别是您可以将 null
传递给Server.MapPath(),但不能传递给HostingEnvironment.MapPath()

2022-07-29