Este capítulo trata de las carpetas y las rutas de carpetas.
En este capítulo aprenderá:
- Acerca de las estructuras de carpetas lógicos y físicos
- Acerca de los nombres virtuales y físicos
- Acerca de las direcciones URL de Internet y rutas
Estructura de carpetas lógica
A continuación se muestra una estructura de carpetas típico para un sitio web Las páginas web ASP.NET:
- La "Account" carpeta contiene los archivos de inicio de sesión y de seguridad
- El "App_Data" carpeta contiene las bases de datos y archivos de datos
- El "Images" carpeta contiene imágenes
- El "Scripts" carpeta contiene las secuencias de comandos del navegador
- El "Shared" carpeta contiene archivos comunes (like layout and style files)
Estructura de carpetas física
La estructura física de las "Images" carpeta en el sitio web anterior podría tener este aspecto en un ordenador:
C: \ Johnny \ Documents \ MyWebSites \ demo \ Images
Nombres virtuales y físicos
En el ejemplo anterior:
El nombre virtual de una imagen de la tela pudo ser "Images/pic31.jpg" .
Pero el nombre físico es "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URLs y rutas
URL se utilizan para acceder a los archivos desde la web: http://www.w3ii.com/html/html5_intro.asp
La URL corresponde a un archivo físico de un servidor: C: \ MyWebSites \ w3ii \ html \ html5_intro.asp
Una ruta virtual es una abreviación para representar vías físicas. Si utiliza rutas virtuales, puede mover sus páginas a un dominio diferente (or server) sin tener que actualizar las rutas.
URL | http://www.w3ii.com/html/html5_intro.asp |
Nombre del servidor | w3ii |
ruta de acceso virtual | /html/html5_intro.asp |
ruta física | C: \ MyWebSites \ w3ii \ html \ html5_intro.asp |
La raíz de una unidad de disco está escrito como C: \, pero la raíz de un sitio web es / (forward slash) .
La ruta de acceso virtual de una carpeta web es (almost) nunca es el mismo que la carpeta física.
En el código se quiere, hacer referencia tanto a la ruta física y la ruta de acceso virtual, dependiendo de lo que está codificando.
ASP.NET tiene 3 herramientas para trabajar con rutas de carpetas: El operador ~, el método Server.MapPath, y el método a href.
El operador ~
Para especificar la raíz virtual en el código de programación, utilice el operador ~.
Si se utiliza el operador ~, en lugar de un camino, se puede mover de su sitio web a una carpeta o ubicación diferente sin cambiar ningún código:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
El Método Server.MapPath
El método Server.MapPath convierte una ruta de acceso virtual (/default.cshtml) a una ruta física que el servidor puede comprender (C:\Johnny\MyWebSited\Demo\default.cshtml) .
Que va a utilizar este método cuando se necesita para abrir archivos de datos ubicados en el servidor (archivos de datos sólo se puede acceder con una ruta física completa):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Usted aprenderá más sobre la lectura de (and writing to) los archivos de datos en el servidor en el siguiente capítulo de este tutorial.
El Método Href
El método Href convierte una ruta que se utiliza en el código de un camino que el navegador pueda entender (the browser cannot understand the ~ operator) .
Se utiliza el método de Href para crear rutas de acceso a recursos como archivos de imagen y archivos CSS.
Es frecuente utilizar este método en <a> HTML, <img> y <link> elementos:
@{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"
/>
El método Href es un método del objeto de página Web.