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.startuppath
c# 윈도우즈 응용 프로그램에서
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
'programing' 카테고리의 다른 글
CSS에서 너비 = 100% - 100%를 어떻게 할 수 있습니까? (0) | 2023.08.16 |
---|---|
라라벨의 Mysql InnoDB 엔진 (0) | 2023.08.16 |
div 요소 내의 텍스트를 대체하려면 어떻게 해야 합니까? (0) | 2023.08.16 |
TypeError가 표시되는 이유: 시퀀스를 'float' 유형이 아닌 형식으로 곱할 수 없습니까? (0) | 2023.08.16 |
C/C++ 구조물 간격띄우기 (0) | 2023.08.16 |