Elemento <case>
Permite que la comprobación de modelos se detenga después de procesar la primera coincidencia entre varias alternativas.
<configuration>
<system.web>
<browserCaps>
<filter>
** <case>**
<case match="[regex expression]" with="[regex expression]">[assignments, filter elements and case elements]</case>
Atributos requeridos
Atributo | Descripción |
---|---|
match | Expresión regular de .NET Framework con la que se compara el atributo with. Si se omite, se considera que hay coincidencia. |
with | Expresión regular de .NET Framework o cadena que se busca. Si se omite, se utiliza la cadena especificada por el elemento <use>. |
Ejemplo
En el ejemplo siguiente se muestra cómo se analiza el encabezado HTTP User-Agent para cualquier versión de Internet Explorer (siempre que el formato de la cadena User-Agent se mantenga sin cambios importantes).
En el ejemplo se utilizan expresiones regulares de .NET Framework y se aprovecha su capacidad para capturar subexpresiones con el fin de pasar los números de versión directamente desde la cadena User-Agent al objeto de funcionalidad del explorador.
El archivo especifica los pares de nombre y valor en forma de instrucciones de asignación, de modo similar a como se hace en los archivos browscap.ini de los Servicios de Microsoft Internet Information Server (IIS). Por ejemplo, la línea "browser=IE" establece como valor del campo browser la cadena "IE".
<configuration>
<browserCaps>
<result type="System.Web.HttpBrowserCapabilities, System.Web"/>
<use var="HTTP_USER_AGENT"/>
browser=Unknown
version=0.0
majorversion=0
minorversion=0
frames=false
tables=false
cookies=false
backgroundsounds=false
<filter>
<case match="^Mozilla[^(]*\(compatible; MSIE
(?'ver'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))
(?'extra'.*)">
browser=IE
version=${ver}
majorver=${major}
minorver=${minor}
<case match="^2\." with="%{version}">
tables=true
cookies=true
backgroundsounds=true
<case match="2\.5b" with="%{version}">
beta=true
</case>
</case>
</case>
</filter>
</browsercaps>
</configuration>
Comentarios
Todos los elementos <filter> y <case> pueden contener asignaciones y otros elementos <filter> y <case>. La diferencia entre los grupos <case> y <filter> es la siguiente: después de evaluar un grupo <filter>, la ejecución continúa con la instrucción siguiente al grupo, mientras que después de hallar una coincidencia y evaluar un grupo <case>, la ejecución pasa al grupo envolvente.
Requisitos
Contenido dentro de: <system.web>
Plataforma Web: IIS 5.0, IIS 5.1, IIS 6.0
Archivo de configuración: Machine.config, Web.config
Controlador de la sección de configuración: System.Web.Configuration.HttpCapabilitiesSectionHandler
Vea también
Elemento <browserCaps> | Elemento <filter> | Configuración de ASP.NET | Esquema de configuración de ASP.NET