<case>, élément
Désactive les critères spéciaux après le traitement de la première extraction d'un certain nombre de possibilités.
<configuration>
<system.web>
<browserCaps>
<filter>
** <case>**
<case match="[regex expression]" with="[regex expression]">[assignments, filter elements and case elements]</case>
Attributs requis
Attribut | Description |
---|---|
match | Expression régulière du .NET Framework testée avec l'attribut with. Si cet attribut est omis, la correspondance est supposée établie. |
with | Expression régulière du .NET Framework ou chaîne à rechercher. Si cet attribut est omis, c'est la chaîne spécifiée par l'élément <use> qui est utilisée. |
Exemple
L'exemple suivant illustre l'analyse de l'en-tête HTTP User-Agent pour toute version de Microsoft Internet Explorer (tant que le format de la chaîne User-Agent reste à peu près identique).
L'exemple utilise des Expressions régulières du .NET Framework et exploite la possibilité qu'ont les expressions régulières de capturer des sous-expressions afin de déplacer des numéros de version directement de la chaîne User-Agent vers l'objet browsercaps.
Le fichier spécifie les paires nom/valeur sous la forme d'instructions d'assignation, à la manière des fichiers browscap.ini des services IIS (Internet Information Services). Par exemple, la ligne « browser=IE » affecte la valeur du champ browser à la chaîne « 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>
Notes
Tous les éléments <filter> et <case> peuvent contenir des assignations et d'autres éléments <filter> et <case>. La différence entre les groupes <case> et <filter> est la suivante : quand un groupe <filter> a été évalué, l'exécution se poursuit à partir de l'instruction qui suit le groupe, mais lorsqu'un groupe <case> a été correctement mis en correspondance et évalué, l'exécution passe à la fin du groupe englobant.
Configuration requise
Contenu dans : <system.web>
Plate-forme Web : IIS 5.0, IIS 5.1, IIS 6.0
Fichier de configuration : Machine.config, Web.config
Gestionnaire de sections de configuration : System.Web.Configuration.HttpCapabilitiesSectionHandler
Voir aussi
<browserCaps>, élément | <filter>, élément | Configuration ASP.NET | Schéma des paramètres ASP.NET