Freigeben über


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

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. 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.
  4. - 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.
    Screenshot of Web Server and Application Development Features node expanded with I S A P I Filters selected.
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  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.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures, und wählen Sie anschließend ISAPI-Filter aus.
    Screenshot displays World Wide Web Services and Application Development Features pane expanded with I S A P I Filters selected.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich Server-Manager die Option Rollen, und klicken Sie dann auf Webserver (IIS).
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. 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.
    Screenshot of Application Development Features node expanded in Turn Windows features on or off page displaying I S A P I Filters selected.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie im Dialogfeld Windows-Features die Optionen Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures.
    Screenshot shows World Wide Web Services and Application Development Features pane expanded with I S A P I Filters selected.
  4. Wählen Sie ISAPI-Filter aus, und klicken Sie dann auf OK.

Gewusst wie

Hinzufügen eines ISAPI-Filters

  1. Ö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).
  2. Navigieren Sie im Bereich Verbindungen zu der Verbindung oder Site, für die Sie ISAPI-Filter konfigurieren möchten.

  3. Doppelklicken Sie im Bereich Start auf ISAPI-Filter.
    Screenshot of Home pane showing I S A P I Filters selected.

  4. Klicken Sie im Bereich Aktionen auf Hinzufügen....

  5. Geben Sie im Textfeld Filtername des Dialogfelds ISAPI-Filter hinzufügen einen Anzeigenamen für den ISAPI-Filter ein.

  6. 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.
    Screenshot of Add I S A P I Filter dialog box displaying Executable box and Filter name box.

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 (,).
Wert Beschreibung
bitness32 Geben Sie den Wert bitness32 an, wenn es sich bei dem ISAPI-Filter um eine 32-Bit-DLL-Datei handelt und IIS den ISAPI-Filter nur für Arbeitsprozesse laden soll, die im WOW64-Modus (32-Bit-Simulation) auf einem 64-Bit-Betriebssystem ausgeführt werden.
bitness64 Geben Sie den Wert bitness64 an, wenn es sich bei dem ISAPI-Filter um eine 64-Bit-DLL-Datei handelt und IIS den ISAPI-Filter nur für Arbeitsprozesse laden soll, die im 64-Bit-Modus ausgeführt werden.
integratedMode Geben Sie den Wert integratedMode an, wenn der ISAPI-Filter die integrierte Anforderungsverarbeitungspipeline verwenden soll, um Anforderungen für verwaltete Inhalte zu verarbeiten.
ISAPIMode Geben Sie den Wert ISAPIMode an, wenn der ISAPI-Filter die ASP.NET-ISAPI-Erweiterung „Aspnet_isapi.dll“ verwenden soll, um Anforderungen für verwaltete Inhalte zu verarbeiten.
runtimeVersionv1.1 Geben Sie den Wert runtimeVersionv1.1 an, wenn der ISAPI-Filter nur für Anwendungspools geladen werden soll, die für die Verwendung der .NET Framework-Version 1.1 konfiguriert sind.
runtimeVersionv2.0 Geben Sie den Wert runtimeVersionv2.0 an, wenn der ISAPI-Filter nur für Anwendungspools geladen werden soll, die für die Verwendung der .NET Framework-Version 2.0 konfiguriert sind.

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()