programing

서버의 차이점은 무엇입니까?MapPath 및 호스팅 환경.지도 경로?

stoneblock 2023. 5. 24. 21:39

서버의 차이점은 무엇입니까?MapPath 및 호스팅 환경.지도 경로?

사이에 차이가 있습니까?Server.MapPath()그리고.HostingEnvironment.MapPath()하십니까?Server.MapPath()에 비해 유리한 점이 조금이라도HostingEnvironment.MapPath()?

나의 원래 문제는 서버의 파일 경로를 매핑하는 것이었습니다.HttpContext부재중이며 저는 a를 통과할 수 없습니다.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하지 않다.

이 두 가지 방법으로 다른 결과를 얻을 수 있는 상황이 있습니까?

WCF 서비스에서, 이유는null HttpContext.Current당신은 그 길로 갈 수 없습니다.Server.MapPath()그리고 a를 얻을 것입니다.HttpException하지만 당신은 그 길로 갈 수 있습니다.HostingEnvironment.MapPath().

// This will get a Http Exception
string path = System.Web.HttpContext.Current.Server.MapPath("myPath");
// This will get your path
string path = System.Web.HostingEnvironment.MapPath("~/myPath");

참조:

언급URL : https://stackoverflow.com/questions/944219/what-is-the-difference-between-server-mappath-and-hostingenvironment-mappath