Ver Mensaje Individual
  #25 (permalink)  
Antiguo 10/08/2004, 03:58
Avatar de SunDarK
SunDarK
 
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Tema:Web App

Pregunta: ¿Que es el Web.Config?

Respuesta:
Es un fichero donde se almacena la configuración de la aplicación web.
Debe ser un fichero XML "Well Formed" (bien formado)
Los Tag Names,nombres de atributos y atributos son case sensitive
Los Tag Names y los nombres de los atributos son camel-case(primera letra
en minuscula y la primera letra de cualquier palabra concatenada en
Mayuscula)
Los atributos son Pascal-Case(primera letra en mayuscula y la primera
letra de cualquier palabra concatenada en Mayuscula)
La excepción se encuentra en true y false que SIEMPRE van en minusculas.
Toda la configuración reside entre los tags <configuration> y </configuration>
y dentro de estos tags se agrupan en dos áreas, la sección cabecera de configuración
y la sección de configuración.
La sección cabecera de configuración se encuentra en la parte superior del
fichero de configuración entre los tags <configSections> y </configSections>
Cada declaración contiene en un tag <section> el nombre de la section que proviene
una parte específica de la configuración y el nombre de la clase .NET FrameWork
la cual procesa los datos de configuración en dicha sección.
La sección de configuración se encuentra tras el tag <configSections> y contiene la
configuración actual.Hay una sección de configuración por cada declaración en el area
<configSections>. Cada sección de configuración contiene subtags con atributos que contienen
la configuración para dicha sección.
En este ejemplo podemos ver dos cabeceras de configuración <section>, la configuración
de la aplicación y otros atributos respecto a los estados de sesión:
Cita:
<configuration>
<configSections>
<section name="appSettings"
type="System.Configuration.NameValueFileSectionHan dler,
System, Version=1.0.3300.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="sessionState"
type="System.Web.SessionState.SessionStateSectionH andler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
allowDefinition="MachineToApplication" />
</configSections>
<appSettings>
<add key="dsn" value="localhost;uid=MyUserName;pwd=;" />
<add key="msmqserver" value="server\myqueue" />
</appSettings>

<sessionState cookieless="true" timeout="10" />
</configuration>
Solo es necesario declarar una vez la cabecera de configuración.
Puedes usar este fichero de configuración como tu Web.Config o Machine.Config
en el directorio virtual en la que se encuentra la aplicación y los subdirectorios
automáticamente heredaran las cabeceras de configuración declaradas en el directorio
padre.
Las opciones de configuración se declaran tras los tags <section>.
Estos tags superiores normalmente representan los namespace que contienen
la configuración a aplicar, por ejemplo, el tag de alto nivel <system.net> representa
las opciones de configuración para las clases de red y el tag <system.web> representa
las opciones de configuración para las clases de ASP.NET
Veamos el siguiente ejemplo:
Cita:
<configuration>
<configSections>
<sectionGroup name="system.net">
<section name="authenticationModules"
type="System.Net.Configuration.NetAuthenticationMo duleHandler,
System, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<section name="webRequestModules"
type="System.Net.Configuration.WebRequestModuleHan dler,
System, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
<sectionGroup name="system.web">
<section name="authorization"
type="System.Web.Configuration.AuthorizationConfig Handler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
<section name="sessionState"
type="System.Web.SessionState.SessionStateSectionH andler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
allowDefinition="MachineToApplication" />
</sectionGroup>
</configSections>
<system.net>
<! — Net Class Settings would go here. -->
</system.net>
<system.web>
<authorization>
<allow users="*" /> <!-- Allow all users -->
<!-- Allow or deny specific users.
allow users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
<deny users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
-->
</authorization>
<sessionState
sqlConnectionString="data source=127.0.0.1;
user id=sa;password="
cookieless="false"
timeout="10"
/>
</system.web>
</configuration>
La clases de la sección de la cabecera de configuración procesa todos los
datos del Web.Config, y puedes usar la sección de cabecera predeterminada
del .NET FrameWork o bien crear la tuya propia.
Texto original en ingles en
http://msdn.microsoft.com/library/de...ationfiles.asp
Traducido por SunDarK
Texto perteneciente al Curso DCE 2ª Estrella Modulo 5