ASP.NET 웹 페이지 - 폴더


이 장에서는 폴더 및 폴더 경로에 대해 설명합니다.


이 장에서는 다음을 배우게 됩니다.

  • 논리적 및 물리적 폴더 구조 정보
  • 가상 및 물리적 이름 정보
  • 웹 URL 및 경로 정보

논리적 폴더 구조

다음은 ASP.NET 웹 페이지 웹 사이트의 일반적인 폴더 구조입니다.

폴더
  • "계정" 폴더에는 로그온 및 보안 파일이 포함되어 있습니다.
  • "App_Data" 폴더에는 데이터베이스와 데이터 파일이 들어 있습니다.
  • "이미지" 폴더에는 이미지가 포함되어 있습니다.
  • "Scripts" 폴더에는 브라우저 스크립트가 포함되어 있습니다.
  • "Shared" 폴더에는 레이아웃 및 스타일 파일과 같은 공통 파일이 포함되어 있습니다.

물리적 폴더 구조

위의 웹사이트에서 "이미지" 폴더의 물리적 구조는 컴퓨터에서 다음과 같습니다.

C:\Johnny\Documents\MyWebSites\Demo\Images


가상 및 물리적 이름

위의 예에서:

웹 사진의 가상 이름은 "Images/pic31.jpg"일 수 있습니다.

그러나 실제 이름은 "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"입니다.



URL 및 경로

URL은 웹에서 파일에 액세스하는 데 사용됩니다. https://www.w3schools.com/html/html5_intro.asp

URL은 서버의 실제 파일에 해당합니다. C:\MyWebSites\w3schools\html\html5_intro.asp

가상 경로는 물리적 경로를 나타내는 줄임말입니다. 가상 경로를 사용하는 경우 경로를 업데이트하지 않고도 페이지를 다른 도메인(또는 서버)으로 이동할 수 있습니다.

URL https://www.w3schools.com/html/html5_intro.asp
서버 이름 w3schools
가상 경로 /html/html5_intro.asp
물리적 경로 C:\MyWebSites\w3schools\html\html5_intro.asp

디스크 드라이브의 루트는 C:\와 같이 작성되지만 웹 사이트의 루트는 /(슬래시)입니다.

웹 폴더의 가상 경로는 (거의) 실제 폴더와 동일하지 않습니다.

코드에서 코딩 대상에 따라 실제 경로와 가상 경로를 모두 참조하게 됩니다.

ASP.NET에는 ~ 연산자, Server.MapPath 메서드 및 Href 메서드의 3가지 폴더 경로 작업 도구가 있습니다.


~ 연산자

프로그래밍 코드에서 가상 루트를 지정하려면 ~ 연산자를 사용하십시오.

경로 대신 ~ 연산자를 사용하면 코드를 변경하지 않고도 웹사이트를 다른 폴더나 위치로 이동할 수 있습니다.

var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";

Server.MapPath 메서드

Server.MapPath 메서드는 가상 경로(/default.cshtml)를 서버가 이해할 수 있는 물리적 경로(C:\Johnny\MyWebSited\Demo\default.cshtml)로 변환합니다.

서버에 있는 데이터 파일을 열어야 할 때 이 방법을 사용합니다(데이터 파일은 전체 물리적 경로로만 액세스할 수 있음).

var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);

이 튜토리얼의 다음 장에서 서버의 데이터 파일을 읽고 쓰는 방법에 대해 자세히 알아볼 것입니다.


Href 방법

Href 메서드는 코드에 사용된 경로를 브라우저가 이해할 수 있는 경로로 변환합니다(브라우저는 ~ 연산자를 이해할 수 없음).

Href 메서드를 사용하여 이미지 파일 및 CSS 파일과 같은 리소스에 대한 경로를 만듭니다.

You will often use this method in HTML <a>, <img>, and <link> elements:

@{var myStyleSheet = "~/Shared/Site.css";}

<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />

<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

The Href method is a method of the WebPage Object.