Filtern <filter>
Übersicht
Das <filter>
-Element der <isapiFilters>
-Sammlung konfiguriert einen ISAPI-Filter für die Verarbeitung von Clientanforderungsdaten oder Serverantwortdaten.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <filter> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <filter> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <filter> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <filter> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <filter> -Element der <isapiFilters> -Sammlung wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Die <isapiFilters> -Sammlung ersetzt die Metabasiseigenschaften FilterEnableCache und FilterPath von IIS 6.0. |
Setup
Um das <isapiFilters>
-Element verwenden zu können, muss das ISAPI-Filtermodul auf Ihrem Server installiert werden, und dieser muss mindestens über IIS 7 verfügen. Führen Sie dazu die folgenden Schritte aus:
Windows Server 2012 oder Windows Server 2012 R2
- Klicken Sie auf der Taskleiste auf Server-Manager.
- Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
- Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
- - Erweitern Sie auf der Seite Serverrollen die Option Webserver (IIS), erweitern Sie Webserver, erweitern Sie Anwendungsentwicklung, und wählen Sie dann ISAPI-Filter aus. Klicken Sie auf Weiter.
- Klicken Sie auf der Seite Features auswählen auf Weiter.
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
- Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 8 oder Windows 8.1
- Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Schaltfläche Start, und klicken Sie dann auf Systemsteuerung.
- Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
- Erweitern Sie Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures, und wählen Sie anschließend ISAPI-Filter aus.
- Klicken Sie auf OK.
- Klicken Sie auf Schließen.
Windows Server 2008 oder Windows Server 2008 R2
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
- Erweitern Sie im Hierarchiebereich Server-Manager die Option Rollen, und klicken Sie dann auf Webserver (IIS).
- Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
- Wählen Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten die Option ISAPI-Filter aus, und klicken Sie dann auf Weiter.
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
- Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows Vista oder Windows 7
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
- Erweitern Sie im Dialogfeld Windows-Features die Optionen Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures.
- Wählen Sie ISAPI-Filter aus, und klicken Sie dann auf OK.
Gewusst wie
Hinzufügen eines ISAPI-Filters
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:
- Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows 8 oder Windows 8.1:
- Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
- Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Vista oder Windows 7:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Navigieren Sie im Bereich Verbindungen zu der Verbindung oder Site, für die Sie ISAPI-Filter konfigurieren möchten.
Klicken Sie im Bereich Aktionen auf Hinzufügen....
Geben Sie im Textfeld Filtername des Dialogfelds ISAPI-Filter hinzufügen einen Anzeigenamen für den ISAPI-Filter ein.
Geben Sie im Feld Ausführbare Datei den Dateisystempfad des Speicherorts der ISAPI-Filterdatei ein, oder klicken Sie auf die Auslassungspunkte (...), um zu dem Ordner zu navigieren, der die ISAPI-Filterdatei enthält, und klicken Sie anschließend auf OK.
Konfiguration
Attribute
Attribut | Beschreibung | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
enableCache |
Optionales boolesches Attribut. Gibt an, ob die HTTP.sys-Zwischenspeicherung für gefilterte Serverantworten aktiviert (true) oder deaktiviert (false) ist. Der Standardwert ist false . |
||||||||||||||
enabled |
Optionales boolesches Attribut. Gibt an, ob der installierte Filter aktiviert (true) oder deaktiviert (false) ist. Der Standardwert ist true . |
||||||||||||||
name |
Erforderliches Zeichenfolgenattribut. Gibt den eindeutigen Namen des ISAPI-Filters an. |
||||||||||||||
path |
Erforderliches Zeichenfolgenattribut. Gibt den vollständigen physischen Pfad der DLL-Datei des ISAPI-Filters an. |
||||||||||||||
preCondition |
Optionales Zeichenfolgeattribut. Gibt Bedingungen an, unter denen der ISAPI-Filter ausgeführt wird. Das preCondition-Attribut kann einen oder mehrere der folgenden Werte haben. Wenn Sie mehrere Werte angeben möchten, trennen Sie die einzelnen Werte jeweils durch ein Komma (,).
|
Untergeordnete Elemente
Keine.
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel wird einer Website oder Anwendung ein ISAPI-Filter namens „SalesQueryIsapi“ hinzugefügt. In dem Beispiel wird der ISAPI-Filter mithilfe des name-Attributs benannt und mithilfe des enabled-Attributs aktiviert. Außerdem wird mithilfe des enableCache-Attributs die HTTP.sys-Zwischenspeicherung deaktiviert und mithilfe des path-Attributs der Speicherort der ISAPI-DLL angegeben.
<configuration>
<system.webServer>
<isapiFilters>
<filter
name="SalesFilter"
enabled="true"
enableCache="false"
path="C:\Inetpub\filters\SalesFilter.dll" />
</isapiFilters>
</system.webServer>
</configuration>
Beispielcode
In den folgenden Beispielen wird ein ISAPI-Filter namens „SalesQueryIsapi“ auf dem Server konfiguriert. In den Beispielen wird jeweils mithilfe der name-Eigenschaft ein Name für den ISAPI-Filter angegeben, mithilfe der enableCache-Eigenschaft die HTTP.sys-Zwischenspeicherung deaktiviert und mithilfe der path-Eigenschaft der Speicherort der ISAPI-DLL angegeben.
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
Hinweis
Legen Sie den commit-Parameter auf apphost
fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.
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()