서버 디스크에 있는 웹 사이트의 실제 경로: HttpRuntime.AppDomainAppPath
가상 프로그램 경로: HttpRuntime.AppDomainAppVirtualPath
Request/HttpContext.Current 등과 관련된 모든 메서드는 요청 컨텍스트나 페이지가 있는 경우에만 사용할 수 있습니다. 즉, 요청 컨텍스트가 없는 경우 HttpContext.Current는 항상 null입니다.
전역 캐시 개체에 대한 액세스도 마찬가지입니다.
================================================= ================================
예: asp.net 웹사이트 경로를 출력합니다.
개인 무효 responseHtml()
...{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(string.Format("현재 시간: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
sb.Append("<br />");
sb.Append(string.Format("현재 요청의 가상 경로: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.Append("<br />");
sb.Append(string.Format("현재 응용 프로그램의 루트 디렉터리 경로 가져오기: {0}", Server.HtmlEncode(Request.ApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("현재 요청의 가상 경로: {0}",Server.HtmlEncode(Request.FilePath)));
sb.Append("<br />");
sb.Append(string.Format("현재 요청의 가상 경로: {0}",Server.HtmlEncode(Request.Path)));
sb.Append("<br />");
sb.Append(string.Format("현재 실행 중인 응용 프로그램의 루트 디렉터리에 대한 물리적 파일 시스템 경로를 가져옵니다: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("요청한 URL에 해당하는 실제 파일 시스템 경로를 가져옵니다: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
Response.Write(sb.ToString());
}
}
출력: 현재 시간: 2007-08-30 11:03:49
현재 요청의 가상 경로: /aDirectory/Sample/responseHtml.aspx
현재 애플리케이션의 루트 디렉터리 경로를 가져옵니다: /aDirectory
현재 요청의 가상 경로: /aDirectory/Sample/responseHtml.aspx
현재 요청의 가상 경로: /aDirectory/Sample/responseHtml.aspx
현재 실행 중인 응용 프로그램의 루트 디렉터리에 대한 실제 파일 시스템 경로를 가져옵니다: E:Visual Studio 2005
요청된 URL에 해당하는 실제 파일 시스템 경로를 가져옵니다: E:Visual Studio 2005\aDirectory
ASP.NET 프로그래밍에서는 URL에 대한 정보를 얻기 위해 요청을 사용해야 하는 경우가 많습니다.
테스트 URL 주소는 http://www.test.com/testweb/default.aspx 이며, 결과는 다음과 같습니다.
요청.응용 프로그램 경로: /testweb
요청.현재실행파일 경로: /testweb/default.aspx
요청.파일 경로: /testweb/default.aspx
요청.경로: /testweb/default.aspx
요청.경로정보:
Request.PhysicalApplicationPath: E:WWWtestweb
요청.물리적 경로: E:WWWtestwebdefault.aspx
Request.RawUrl: /testweb/default.aspx
요청.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
요청.Url.Host: www.test.com
요청.Url.LocalPath: /testweb/default.aspx
URL에 매개변수가 있는 경우 이를 사용할 수 있습니다.
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
이 페이지의 주소: Request.URL;
이전 페이지 주소:
요청.UrlReferrer
Request.ServerViables["http_referer"]
요청.RawUrl
Request.RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
HttpRequest 유형은 다음 멤버를 노출합니다.
생성자 이름 설명
HttpRequest 인프라. HttpRequest 객체를 초기화합니다.
상위 메소드 이름 설명
BinaryRead 현재 입력 스트림에서 지정된 바이트 수의 이진 읽기를 수행합니다.
Equals는 지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object)
Finalize를 사용하면 가비지 수집이 개체를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있습니다. (다음에서 상속됨 Object)
GetHashCode는 특정 유형에 대한 해시 함수로 사용됩니다. (다음에서 상속됨 Object)
GetType 현재 인스턴스의 유형을 가져옵니다. (다음에서 상속됨 Object)
MapImageCoordinates는 들어오는 이미지 필드 양식 매개변수를 적절한 x 및 y 좌표 값에 매핑합니다.
MapPath가 다시 로드되었습니다. 요청된 URL의 가상 경로를 현재 요청에 대한 서버의 실제 경로에 매핑합니다.
MemberwiseClone은 현재 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 Object)
SaveAs HTTP 요청을 디스크에 저장합니다.
ToString은 현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object)
ValidateInput은 Cookies, Form 및 QueryString 속성을 통해 액세스되는 컬렉션의 유효성을 검사합니다.
상위 속성 이름 설명
AcceptTypes 클라이언트가 지원하는 MIME 허용 유형의 문자열 배열을 가져옵니다.
AnonymousID 이 사용자에 대한 익명 식별자가 있는 경우 해당 식별자를 가져옵니다.
ApplicationPath 서버에 있는 ASP.NET 응용 프로그램의 가상 응용 프로그램 루트 경로를 가져옵니다.
AppRelativeCurrentExecutionFilePath 응용 프로그램 루트에 대한 가상 경로를 가져오고 응용 프로그램 루트에 대한 물결표(~) 표기법(예: "~/page.aspx" 형식)을 사용하여 경로를 상대 경로로 만듭니다.
브라우저 요청 클라이언트의 브라우저 기능에 대한 정보를 가져오거나 설정합니다.
ClientCertificate 현재 요청에 대한 클라이언트 보안 인증서를 가져옵니다.
ContentEncoding 엔터티 본문의 문자 집합을 가져오거나 설정합니다.
ContentLength는 클라이언트가 보낸 콘텐츠의 길이(바이트)를 지정합니다.
ContentType 들어오는 요청의 MIME 콘텐츠 유형을 가져오거나 설정합니다.
쿠키 클라이언트가 보낸 쿠키 컬렉션을 가져옵니다.
CurrentExecutionFilePath 현재 요청의 가상 경로를 가져옵니다.
FilePath 현재 요청의 가상 경로를 가져옵니다.
파일 다중 부분 MIME 형식으로 클라이언트가 업로드한 파일 컬렉션을 가져옵니다.
필터 현재 입력 스트림을 읽을 때 사용할 필터를 가져오거나 설정합니다.
양식 양식 변수 컬렉션을 가져옵니다.
헤더 HTTP 헤더 컬렉션을 가져옵니다.
HttpMethod 클라이언트가 사용하는 HTTP 데이터 전송 방법(예: GET, POST 또는 HEAD)을 가져옵니다.
InputStream 들어오는 HTTP 엔터티 본문의 내용을 가져옵니다.
IsAuthenticated 요청이 인증되었는지 여부를 나타내는 값을 가져옵니다.
IsLocal 요청이 로컬 컴퓨터에서 왔는지 여부를 나타내는 값을 가져옵니다.
IsSecureConnection HTTP 연결이 보안 소켓(즉, HTTPS)을 사용하는지 여부를 나타내는 값을 가져옵니다.
Item Cookies, Form, QueryString 또는 ServerVariables 컬렉션에서 지정된 개체를 가져옵니다.
LogonUserIdentity 현재 사용자의 WindowsIdentity 유형을 가져옵니다.
Params QueryString, Form, ServerVariables 및 Cookies 항목의 결합된 컬렉션을 가져옵니다.
Path는 현재 요청의 가상 경로를 가져옵니다.
PathInfo URL 확장자가 있는 리소스에 대한 추가 경로 정보를 가져옵니다.
PhysicalApplicationPath 현재 실행 중인 서버 응용 프로그램의 루트 디렉터리에 대한 실제 파일 시스템 경로를 가져옵니다.
PhysicalPath 요청된 URL에 해당하는 실제 파일 시스템 경로를 가져옵니다.
QueryString HTTP 쿼리 문자열 변수의 컬렉션을 가져옵니다.
RawUrl 현재 요청의 원래 URL을 가져옵니다.
RequestType 클라이언트가 사용하는 HTTP 데이터 전송 방법(GET 또는 POST)을 가져오거나 설정합니다.
ServerVariables 웹 서버 변수 컬렉션을 가져옵니다.
TotalBytes 현재 입력 스트림의 바이트 수를 가져옵니다.
Url 현재 요청된 URL에 대한 정보를 가져옵니다.
UrlReferrer 현재 URL에 연결된 클라이언트가 요청한 마지막 URL에 대한 정보를 가져옵니다.
UserAgent 클라이언트 브라우저의 원래 사용자 에이전트 정보를 가져옵니다.
UserHostAddress 원격 클라이언트의 IP 호스트 주소를 가져옵니다.
UserHostName 원격 클라이언트의 DNS 이름을 가져옵니다.
UserLanguages 클라이언트 언어 기본 설정의 정렬된 문자열 배열을 가져옵니다.
1.Request.ApplicationPath->작성자가 jsp와 접촉하지 않은 디렉토리입니다. jsp와 접촉한 경우 ApplicationPath는 현재 응용프로그램에 해당하는 디렉토리를 참조합니다. 응용 프로그램) - 예를 들어 내 서버에 하나가 있고 두 웹 응용 프로그램 도메인 이름 모두 MySite.com이고 하나는 MySite.com/1/ 디렉터리에 매핑되고 다른 하나는 http://MySite.com/2/ 에 매핑됩니다.
그러면 MySite.com/1/은 첫 번째 응용 프로그램의 ApplicationPath입니다. 마찬가지로 MySite.com/2/는 두 번째 응용 프로그램의 ApplicationPath입니다.
2.Request.FilePath->URL http://MySite.com/1/index.html/pathinfo 와 같은 iis의 가상 디렉터리에 해당합니다.
파일 경로 = /1/index.html
3.Request.Path->현재 요청의 가상 경로
Path는 FilePath와 PathInfo 꼬리를 연결한 것입니다. 예를 들어 URL http://MySite.com/1/index.html/pathinfo
그런 다음 경로 = /1/index.html/pathinfo
4.Request.MapPath(string url)->url을 iis의 가상 디렉터리에 매핑합니다. 이 디렉터리는 Server.MapPath와 비교할 때 다음과 같은 경로를 포함하지 않는다는 것을 이해할 수 있습니다. c:/는 상대 경로입니다(비교된 Server.MapPath는 절대 경로입니다).
5.Server.MapPath(string url)->URL을 서버의 실제 경로에 매핑합니다. 예를 들어 응용 프로그램이 c:/iis/MySite에 있다고 가정하면 http://MySite.com/1/index.html입니다 . 그런 다음 c :/iis/MySite/1/index.html입니다.
Request.FilePath는 현재 요청의 가상 경로를 가져옵니다. FilePath 속성에는 PathInfo 트레일러가 포함되어 있지 않습니다. 예를 들어 URL http://www.contoso.com/virdir/page.html/tail 의 경우 FilePath 값은 /virdir/page.html입니다.
================================================= ================================================= ===========================
Request.Path는 현재 요청의 가상 경로를 가져옵니다. Path는 FilePath와 PathInfo 꼬리를 연결한 것입니다. 예를 들어 URL http://www.contoso.com/virdir/page.html/tail 의 경우 경로는 /virdir/page.html/tail입니다.
================================================= ================================================= ===========================
Request.MapPath 메서드는 지정된 가상 경로를 실제 경로에 매핑합니다.
다음 코드 예제에서는 MapPath 메서드를 사용하여 가상 경로를 서버의 정규화된 실제 경로로 변환합니다. 이 예는 두 부분으로 구성됩니다.
.aspx 페이지는 경로를 매핑하고, 파일을 읽고, 읽기 작업의 결과를 표시합니다.
전달된 모든 문자를 대문자로 변경하는 UpperCaseFilterStream 클래스입니다.
예제의 첫 번째 부분에서는 MapPath 메서드를 사용하여 가상 경로를 정규화된 실제 경로로 변환하는 방법을 보여줍니다. 그런 다음 이 실제 경로는 파일 내용이 포함된 StreamReader 개체에 전달됩니다. 그런 다음 Write 메서드를 호출하여 파일 내용을 페이지에 표시합니다. 필터 속성은 페이지에 표시되는 텍스트가 모두 대문자가 되도록 응답 흐름에 필터를 연결하는 데 사용됩니다.
-