에서 현재 디렉터리를 가져오는 중입니다.NET 웹 애플리케이션
그래서 웹 프로젝트가 있는데 c# 메소드를 사용하여 웹 사이트의 루트 디렉터리를 가져오려고 합니다.Directory.GetCurrentDirectory()
나중에 파일 위치가 변경되므로 정적 경로를 사용하지 않습니다.이 메서드는 내 imageProcess.aspx.cs 파일에서 실행되고 있지만 반환될 것으로 생각한 위치:
C:\Users\tcbl\documents\visual studio 2010\Projects\ModelMonitoring\ModelMonitoring\imageProcess.aspx.cs
대신 다음과 같은 정보를 얻을 수 있습니다.
C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\
왜 이런 일이 일어나고 있고 가능한 해결책이 무엇인지 설명할 수 있는 사람이 있습니까?정말 감사해요.
현재 디렉토리는 시스템 수준 기능이며, 서버가 시작된 디렉토리를 반환합니다.그것은 웹사이트와 관련이 없습니다.
너는 원한다HttpRuntime.AppDomainAppPath
.
HTTP 요청에 있는 경우에는 다음을 호출할 수도 있습니다.Server.MapPath("~/Whatever")
.
다음 코드 사용:
HttpContext.Current.Server.MapPath("~")
상세 참조:
Server.MapPath
물리적 디렉토리에 매핑할 상대 경로 또는 가상 경로를 지정합니다.
Server.MapPath(".")
실행 중인 파일의 현재 실제 디렉터리(예: aspx)를 반환합니다.Server.MapPath("..")
상위 디렉터리를 반환합니다.Server.MapPath("~")
응용 프로그램의 루트에 대한 물리적 경로를 반환합니다.Server.MapPath("/")
실제 경로를 도메인 이름의 루트로 반환합니다(애플리케이션의 루트와 동일할 필요는 없음).
예:
C:\Inetpub\wwwroot
상점 애플리케이션(IIS의 가상 디렉터리로 표시된 하위 웹)을 설치했습니다.
D:\WebApps\shop
예를 들어, 당신이 전화를 걸 수 있습니다.Server.MapPath
다음 요청 시:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
그러면:
Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop
경로가 순방향(/) 또는 역방향 슬래시()로 시작하는 경우MapPath
method는 경로가 전체 가상 경로인 것처럼 경로를 반환합니다.
경로가 슬래시로 시작하지 않으면MapPath
method는 처리 중인 요청의 디렉터리에 상대적인 경로를 반환합니다.
참고: C#에서 @는 "있는 그대로" 문자열을 사용해야 하며 이스케이프 시퀀스에 대해 처리되지 않아야 함을 의미하는 동사형 리터럴 문자열 연산자입니다.
각주
Server.MapPath(null)
그리고.Server.MapPath("")
이런 효과도 낼 겁니다.
닷넷 6의 경우 사용:
AppContext.BaseDirectory
멋진 점은 asp.net 에서도 콘솔 애플리케이션에서도 동일하게 적용된다는 것입니다.
언급URL : https://stackoverflow.com/questions/10951599/getting-current-directory-in-net-web-application
'programing' 카테고리의 다른 글
목록 슬라이싱을 사용하여 목록에서 첫 번째 요소를 제외한 모든 요소를 가져오는 방법 (0) | 2023.05.16 |
---|---|
Node.js를 업데이트하려면 어떻게 해야 합니까? (0) | 2023.05.16 |
특성 오류: 'module' 개체에 'urlretrieve' 특성이 없습니다. (0) | 2023.05.16 |
Git 충돌 마커 (0) | 2023.05.16 |
Windows에 pyaudio를 설치할 수 없습니까?"오류: Microsoft Visual C++ 14.0 필요"를 해결하는 방법? (0) | 2023.05.16 |