programing

Application_Start 내에서 현재 애플리케이션 물리적 경로 가져오기

topblog 2023. 8. 16. 21:54
반응형

Application_Start 내에서 현재 애플리케이션 물리적 경로 가져오기

Application_Start using 내에서 현재 물리적 경로를 가져올 수 없습니다.

HttpContext.Current.Request.PhysicalApplicationPath

현재 Request 개체가 없기 때문입니다.

다른 방법으로 물리적 경로를 얻을 수 있습니까?

 protected void Application_Start(object sender, EventArgs e)
 {
     string path = Server.MapPath("/");
     //or 
     string path2 = Server.MapPath("~");
     //depends on your application needs

 }

저는 ASP로 웹사이트를 만들었습니다.Net WebForms: Azure에 있는 사이트의 이전 응답에 언급된 모든 양식을 사용한 결과를 볼 수 있습니다.

http://wfserverpaths.azurewebsites.net/

요약:.


Server.MapPath("/") => D:\home\site\wwwroot\

Server.MapPath("~") => D:\home\site\wwwroot\

HttpRuntime.AppDomainAppPath => D:\home\site\wwwroot\

HttpRuntime.AppDomainAppVirtualPath => /

AppDomain.CurrentDomain.BaseDirectory => D:\home\site\wwwroot\

HostingEnvironment.MapPath("/") => D:\home\site\wwwroot\

HostingEnvironment.MapPath("~") => D:\home\site\wwwroot\

사용할 수도 있습니다.

HttpRuntime.AppDomainAppVirtualPath

사용

   

다음 코드를 사용할 수 있습니다.

AppDomain.CurrentDomain.BaseDirectory

최선의 선택은 사용하는 것입니다.

AppDomain.CurrentDomain.BaseDirectory

시스템 네임스페이스에 있고 시스템에 대한 종속성이 없기 때문입니다.거미줄

이렇게 하면 당신의 코드가 더 휴대하기 쉬워질 것입니다.

정적 호스팅 환경도 있습니다.지도 경로

아래 코드를 사용

server.mappath()asp.net 에서

application.startuppathc# 윈도우즈 응용 프로그램에서

System.AppDomain.CurrentDomain.BaseDirectory

응용프로그램의 실행 디렉토리가 제공됩니다.이것은 웹 애플리케이션에서도 작동합니다.그런 다음 파일에 액세스할 수 있습니다.

하지만, 이 모든 옵션들 사이에는 약간의 차이가 있습니다.

나는 그것은

네가 한다면.

    string URL = Server.MapPath("~");

또는

    string URL = Server.MapPath("/");

또는

    string URL = HttpRuntime.AppDomainAppPath;

URL에 다음과 같은 리소스가 링크에 표시됩니다.

    "file:///d:/InetPUB/HOME/Index/bin/Resources/HandlerDoc.htm"

그러나 URL에 리소스 위치가 아닌 가상 경로만 표시되도록 하려면 다음 작업을 수행해야 합니다.

    string URL = HttpRuntime.AppDomainAppVirtualPath; 

그러면 URL에 아래와 같이 리소스에 대한 가상 경로가 표시됩니다.

    "http://HOME/Index/bin/Resources/HandlerDoc.htm"        

언급URL : https://stackoverflow.com/questions/1495504/get-current-application-physical-path-within-application-start

반응형