Filtres ISAPI <isapiFilters>
Vue d’ensemble
L'élément <isapiFilters>
vous permet de gérer les filtres ISAPI sur votre serveur IIS (Internet Information Services) 7. Vous pouvez ajouter un filtre ISAPI lorsque vous souhaitez améliorer les fonctionnalités du serveur web. Par exemple, vous pouvez avoir un filtre ISAPI qui capture des informations relatives aux requêtes HTTP et les enregistre dans une base de données.
Remarque
Bien qu'IIS 7 prenne en charge les filtres ISAPI, Microsoft recommande d'étendre les fonctionnalités du serveur web en utilisant des modules plutôt que des filtres ISAPI.
L'élément <isapiFilters>
peut contenir un ou plusieurs éléments <filter>
, chacun définissant un filtre ISAPI activé pour votre serveur ou site web. Il peut également contenir un élément<remove>
, que vous pouvez utiliser pour supprimer un filtre ISAPI spécifique hérité d'un niveau supérieur dans la hiérarchie de configuration. L'élément <isapiFilters>
peut également contenir un élément <clear>
, qui supprime tous les filtres ISAPI hérités d'un niveau supérieur dans la hiérarchie de configuration.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L'élément <isapiFilters> n'a pas été modifié dans IIS 10.0. |
IIS 8.5 | L'élément <isapiFilters> n'a pas été modifié dans IIS 8.5. |
IIS 8.0 | L'élément <isapiFilters> n'a fait l'objet d'aucune modification dans IIS 8.0. |
IIS 7.5 | L'élément <isapiFilters> n'a pas été modifié dans IIS 7.5. |
IIS 7.0 | L'élément <isapiFilters> a été introduit dans IIS 7.0. |
IIS 6.0 | L'élément <isapiFilters> remplace les propriétés de métabase IIS 6.0 FilterEnableCache et FilterPath. |
Programme d’installation
Pour utiliser l'élément <isapiFilters>
, vous devez installer le module Filtres ISAPI sur votre serveur IIS 7 et version ultérieure. Pour cela, procédez comme suit.
Windows Server 2012 ou Windows Server 2012 R2
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
- Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
- Dans l'Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d'installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
- À la page Rôles de serveur, développez Serveur web (IIS), Serveur web, Développement d'applications, puis sélectionnez Filtres ISAPI. Sélectionnez Suivant.
. - Dans la page Sélectionner les composants, cliquez sur Suivant.
- Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 8 ou Windows 8.1
- Dans l'écran Démarrer, déplacez le pointeur en bas à gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
- Développez Internet Information Services, Services World Wide Web, Fonctionnalités de développement d'applications, puis sélectionnez Filtres ISAPI.
- Cliquez sur OK.
- Cliquez sur Fermer.
Windows Server 2008 ou Windows Server 2008 R2
- Dans la barre des tâches, cliquez sur Démarrer, pointez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire de serveur.
- Dans le volet hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
- Dans le volet Serveur web (IIS), faites défiler jusqu'à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
- À la page Sélectionner des services de rôle de l'Assistant Ajouter des services de rôle, sélectionnez Filtres ISAPI, puis cliquez sur Suivant.
- Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows Vista ou Windows 7
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
- Dans la boîte de dialogue Fonctionnalités Windows, développez Internet Information Services, puis Services World Wide Web, puis Fonctionnalités de développement d'applications.
- Sélectionnez Filtres ISAPI, puis cliquez sur OK.
Procédure
Comment ajouter un filtre ISAPI
Ouvrez le Gestionnaire Internet Information Services (IIS) :
Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8 ou Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :
- Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Vista ou Windows 7 :
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions, accédez à la connexion ou au site pour lequel vous souhaitez configurer des filtres ISAPI.
Dans le volet Accueil, double-cliquez sur Filtres ISAPI.
Dans le volet Actions, cliquer sur Ajouter...
Dans la zone de texte Nom du filtre de la boîte de dialogue Ajouter un filtre ISAPI, tapez un nom convivial pour le filtre ISAPI.
Dans la zone Exécutable, saisissez le chemin d'accès au système de fichiers de l'emplacement du fichier de filtre ISAPI ou cliquez sur les points de suspension (...) pour naviguer jusqu'au dossier qui contient le fichier de filtre ISAPI, puis cliquez sur OK.
Configuration
Vous pouvez ajouter un filtre ISAPI au niveau du serveur et au niveau du site. Si vous ajoutez le filtre ISAPI au niveau du serveur, le filtre intercepte toutes les requêtes adressées au serveur. Si vous ajoutez le filtre ISAPI à un site spécifique, le filtre intercepte toutes les requêtes adressées à ce site.
Vous pouvez configurer l'élément <isapiFilters>
au niveau du serveur dans le fichier ApplicationHost.config ou au niveau du site, dans le fichier Web.config approprié.
Attributs
Aucune.
Éléments enfants
Élément | Description |
---|---|
clear |
Élément facultatif. Supprime toutes les références aux filtres ISAPI de la collection de filtres ISAPI. |
filter |
Élément facultatif. Ajoute un filtre ISAPI à la collection de filtres ISAPI. |
remove |
Élément facultatif. Supprime une référence à un filtre ISAPI de la collection de filtres ISAPI. |
Exemple Configuration
L'exemple de configuration suivant ajoute un filtre ISAPI nommé SalesQueryIsapi à un site web ou à une application. L'exemple nomme et active le filtre ISAPI avec les attributs nom et activé. Il utilise également l'attribut enableCache pour désactiver la mise en cache de HTTP.sys et l'attribut chemin d'accès pour spécifier l'emplacement de la DLL ISAPI.
<configuration>
<system.webServer>
<isapiFilters>
<filter
name="SalesFilter"
enabled="true"
enableCache="false"
path="C:\Inetpub\filters\SalesFilter.dll" />
</isapiFilters>
</system.webServer>
</configuration>
Exemple de code
Les exemples suivants configurent un filtre ISAPI nommé SalesQueryIsapi sur le serveur. Chacun des exemples utilise la propriété nom pour spécifier un nom pour le filtre ISAPI, la propriété enableCache pour désactiver la mise en cache HTTP.sys et la propriété chemin d'accès pour spécifier l'emplacement de la DLL ISAPI.
AppCmd.exe
appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='SalesQueryIsapi',path='c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll',enabled='True',enableCache='True']" /commit:apphost
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d'emplacement appropriée dans le fichier ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection isapiFiltersSection = config.GetSection("system.webServer/isapiFilters");
ConfigurationElementCollection isapiFiltersCollection = isapiFiltersSection.GetCollection();
ConfigurationElement filterElement = isapiFiltersCollection.CreateElement("filter");
filterElement["name"] = @"SalesQueryIsapi";
filterElement["path"] = @"c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll";
filterElement["enabled"] = true;
filterElement["enableCache"] = true;
isapiFiltersCollection.Add(filterElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim isapiFiltersSection As ConfigurationSection = config.GetSection("system.webServer/isapiFilters")
Dim isapiFiltersCollection As ConfigurationElementCollection = isapiFiltersSection.GetCollection
Dim filterElement As ConfigurationElement = isapiFiltersCollection.CreateElement("filter")
filterElement("name") = "SalesQueryIsapi"
filterElement("path") = "c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll"
filterElement("enabled") = True
filterElement("enableCache") = True
isapiFiltersCollection.Add(filterElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var isapiFiltersSection = adminManager.GetAdminSection("system.webServer/isapiFilters", "MACHINE/WEBROOT/APPHOST");
var isapiFiltersCollection = isapiFiltersSection.Collection;
var filterElement = isapiFiltersCollection.CreateNewElement("filter");
filterElement.Properties.Item("name").Value = "SalesQueryIsapi";
filterElement.Properties.Item("path").Value = "c:\\Inetpub\\www.contoso.com\\filters\\SalesQueryIsapi.dll";
filterElement.Properties.Item("enabled").Value = true;
filterElement.Properties.Item("enableCache").Value = true;
isapiFiltersCollection.AddElement(filterElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set isapiFiltersSection = adminManager.GetAdminSection("system.webServer/isapiFilters", "MACHINE/WEBROOT/APPHOST")
Set isapiFiltersCollection = isapiFiltersSection.Collection
Set filterElement = isapiFiltersCollection.CreateNewElement("filter")
filterElement.Properties.Item("name").Value = "SalesQueryIsapi"
filterElement.Properties.Item("path").Value = "c:\\Inetpub\\www.contoso.com\\filters\\SalesQueryIsapi.dll"
filterElement.Properties.Item("enabled").Value = True
filterElement.Properties.Item("enableCache").Value = True
isapiFiltersCollection.AddElement filterElement
adminManager.CommitChanges()