有人可以解释一下Server.MapPath和Request.MapPath之间的区别以及两者的使用场景吗?
自
2.0版本以来,ASP.NET 提供了至少三种不同的公共MapPath方法:
- HttpRequest.MapPath
- HttpServerUtility.MapPath
- HostingEnvironment.MapPath
在内部,HttpServerUtility.MapPath
调用HttpRequest.MapPath
。
HostingEnvironment.MapPath
是一个静态方法,如果参数为 null 或空,则引发ArgumentNullException
,如果参数是相对路径,则引发ArgumentException
。
HttpRequest.MapPath
不是静态方法,不会引发上述异常。