Server.MapPath()
와 사이에 차이가 HostingEnvironment.MapPath()
있습니까? 에 Server.MapPath()
비해 어떤 장점이 HostingEnvironment.MapPath()
있습니까?
내 원래 문제는 파일 HttpContext
이없고 Server
변수 Global.asax
를 내 메소드에 전달할 수없는 경우 서버의 파일 경로를 매핑하는 것이 었습니다 .
HostingEnvironment.MapPath()
필요하지 않기 때문에 대신 사용 했습니다 HttpContext
. 이 두 가지 방법으로 다른 결과를 얻을 수있는 상황이 있습니까?
답변
Server.MapPath()
결국을 호출 HostingEnvironment.MapPath()
하지만 VirtualPath
특정 옵션 으로 객체를 만듭니다 .
VirtualPath
전달 된 객체HostingEnvironment.MapPath()
는 다음과 같이 구성됩니다.VirtualPath.Create(path, VirtualPathOptions.AllowAllPath|VirtualPathOptions.AllowNull);
편집 : 실제로, 유일한 차이점은에 null을 전달할 수 Server.MapPath()
있지만HostingEnvironment.MapPath()
답변
Server.MapPath()
필요합니다 HttpContext
. HostingEnvironment.MapPath
하지 않습니다.