Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 셀프인테리어
- WEB
- D330
- 진단항목
- 보안
- 우분투
- 인테리어
- 한컴오피스
- retropie
- ASP.NET
- ubuntu
- 웹
- 고전게임
- 이보드
- c#
- 피들러
- 윈도우 8
- 네트워크
- Web Programming
- 인증 및 세션관리
- 문자열
- network
- 고전게임기 만들기
- 안드로이드
- HTML5
- Lenovo D330-10igm
- fiddler
- 자바스크립트
- D330-10igm
- 단열
Archives
- Today
- Total
Kinesis´s Open Document
ASP.NET C# - 웹서비스 폴더(디렉터리) 경로 얻어오기 (HttpContext) 본문
ASP.NET for C# 에서 서비스 중인 웹페이지의 폴더(디렉터리) 경로 얻어오기.
웹서비스에 관련된 프로그래밍을 하다보면 웹서비스 중인 폴더의 경로가 필요한 경우가 많다. 아니, 거의 빠지지 않고 등장한다. 하지만 이것을 물리적으로 기본 드라이버부터 실제 서비스하고 있는 폴더 명칭까지 일일이 적기에는 다소 불편한 문제가 발생하는 경우가 많다. 특히 서비스 하는 폴더명칭이 바뀌었을 경우나 개발중 테스트 환경이나 작업환경에 있어 폴더가 바꼇을 경우 이렇게 물리적으로 절대 경로를 지정했을 경우 그 디렉터리 명칭을 바꾸는 작업은 귀찮지 않을 수 없다. 특히 작업을 다 하고나서 통합하는 때에 폴더명이 달라 에러가 나거나 하는 경우에는 그 불편함을 이루 말할 수 없다.
실질적으로 이렇다보니, 루트 폴더 하나를 바탕으로 상대주소를 이용하는 것이 더욱 편할 수 밖에 없다. 그렇다면 기본적으로 사용할 루트 폴더를 어떻게 얻어와야할까?
이 물음 역시 HttpContext 클래스에서 제공하고 있는 하위 클래스에서 그 물음에 대한 해답을 건내 준다.
바로 이녀석이다.
참고사항으로 팁을 하나 두자면 만일 웹 서비스 폴더(디렉터리)의 상위에 별도의 공간을 만들어서 사용한다라고 할때 기본적인 루트 경로를 얻어온 상태라고 해도 ..\ 과 같은 스트링 문자열을 추가하면 서버연산 단에서는 상위 디렉터리로의 접근이 가능하다.
결과적으로 현재 루트 폴더가
D:\IIS7 Web Server\Kinetic.Net\WebService\
라고 할때 WebService 의 하위 폴더(디렉터리)가 아닌 동급 또는 상위 폴더(디렉터리)에 접근 하는 방법의 일환으로서
D:\IIS7 Web Server\Kinetic.Net\WebService\..\
D:\IIS7 Web Server\Kinetic.Net\WebService\..\..\
D:\IIS7 Web Server\Kinetic.Net\WebService\..\WebService_Log\
와 같은 사용 방식도 이용할 수 있다는 것이다.
마지막으로 간략한 예를 참고용으로 작성해 두니 확인해보고 필요에 맞춰 이용하면 될 듯 싶다.
결과 화면
웹서비스에 관련된 프로그래밍을 하다보면 웹서비스 중인 폴더의 경로가 필요한 경우가 많다. 아니, 거의 빠지지 않고 등장한다. 하지만 이것을 물리적으로 기본 드라이버부터 실제 서비스하고 있는 폴더 명칭까지 일일이 적기에는 다소 불편한 문제가 발생하는 경우가 많다. 특히 서비스 하는 폴더명칭이 바뀌었을 경우나 개발중 테스트 환경이나 작업환경에 있어 폴더가 바꼇을 경우 이렇게 물리적으로 절대 경로를 지정했을 경우 그 디렉터리 명칭을 바꾸는 작업은 귀찮지 않을 수 없다. 특히 작업을 다 하고나서 통합하는 때에 폴더명이 달라 에러가 나거나 하는 경우에는 그 불편함을 이루 말할 수 없다.
실질적으로 이렇다보니, 루트 폴더 하나를 바탕으로 상대주소를 이용하는 것이 더욱 편할 수 밖에 없다. 그렇다면 기본적으로 사용할 루트 폴더를 어떻게 얻어와야할까?
이 물음 역시 HttpContext 클래스에서 제공하고 있는 하위 클래스에서 그 물음에 대한 해답을 건내 준다.
바로 이녀석이다.
HttpContext.Current.Request.PhysicalApplicationPath이녀석 역시 값의 반환형은 String 으로 문자열이다.(문자형과 문자열을 해깔리는 분은 없으리라고 생각하고)
참고사항으로 팁을 하나 두자면 만일 웹 서비스 폴더(디렉터리)의 상위에 별도의 공간을 만들어서 사용한다라고 할때 기본적인 루트 경로를 얻어온 상태라고 해도 ..\ 과 같은 스트링 문자열을 추가하면 서버연산 단에서는 상위 디렉터리로의 접근이 가능하다.
결과적으로 현재 루트 폴더가
D:\IIS7 Web Server\Kinetic.Net\WebService\
라고 할때 WebService 의 하위 폴더(디렉터리)가 아닌 동급 또는 상위 폴더(디렉터리)에 접근 하는 방법의 일환으로서
D:\IIS7 Web Server\Kinetic.Net\WebService\..\
D:\IIS7 Web Server\Kinetic.Net\WebService\..\..\
D:\IIS7 Web Server\Kinetic.Net\WebService\..\WebService_Log\
와 같은 사용 방식도 이용할 수 있다는 것이다.
마지막으로 간략한 예를 참고용으로 작성해 두니 확인해보고 필요에 맞춰 이용하면 될 듯 싶다.
using System; using System.Web; public partial class Sample_0001 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { HttpContext.Current.Response.Write(HttpContext.Current.Request.PhysicalApplicationPath); } }
결과 화면
'MEMO/기술 자료 > C# Language' 카테고리의 다른 글
ASP.NET C# - System.Web.UI.Page 내 On 이벤트 처리와 관련한 메모 (0) | 2012.10.12 |
---|---|
ASP.NET C# - DB(Database for MSSQL)를 이용한 Session 환경 구성하기 (0) | 2012.10.02 |
ASP.NET C# - Dynamic XML in IIS7 / iis7 환경에서 다이나믹(동적) XML 구성하기 (2) | 2012.08.23 |
C# - 파일을 읽어들여 구분자 문자열(String)을 키(Key)로 활용하여 리스트 생성하기 예제 (0) | 2012.03.21 |
C# - 문자열(String)을 인덱스 키(Key)로 활용하여 값 처리 하기 (Dictionary) (0) | 2012.03.21 |
ASP.NET C# - IIS7.x 에서 AjaxPro (Ajax.NET Professional) 사용하기 (0) | 2012.02.24 |
ASP.NET C# - 클라이언트 브라우저 정보 얻어오기 (HttpContext) (0) | 2012.02.24 |