Freigeben über


Vorgehensweise: Erstellen einer neuen Anforderungsklassifizierung

Letzte Änderung: Donnerstag, 3. März 2011

Gilt für: SharePoint Foundation 2010

In diesem Thema wird beschrieben, wie eine neue Art von HTTP-Anforderungsklassifizierung zum Erweitern des Leistungsüberwachungs- und Anforderungssteuerungssystems von Microsoft SharePoint Foundation erstellt wird.

Anforderungsklassifizierungsklassen

Microsoft SharePoint Foundationverfügt über verschiedene integrierte Typen von Anforderungsklassifizierungen. Jede von ihnen klassifiziert HTTP-Anforderungen basierend auf einem bestimmten Satz von Anforderungsmerkmalen. Die folgende Tabelle enthält die Klassen und den Typ der Anforderungskategorie, die mit jeder Klasse definiert werden kann.

Typ

Kategorie

SPHttpFileExtensionThrottleClassifier

Anforderungen von Ressourcen mit einer angegebenen Dateinamenerweiterung

SPHttpHeaderThrottleClassifier

Anforderungen, die einen angegebenen Header enthalten oder über einen angegebenen Wert für einen angegebenen Header verfügen

SPHttpUserAgentAndMethodClassifier

Anforderungen mit einem angegebenen Benutzer-Agent oder die eine angegebene HTTP-Methode verwenden

SPSearchCrawlingRequestClassifier

Anforderungen, die von Durchforstungsmodulen für Suchen stammen

Es ist wahrscheinlich, dass Sie jede Art von benötigtem Klassifizierungsobjekt mithilfe einer dieser Klassen erstellen können. Wenn jedoch keine dieser Klassen Ihren Anforderungen entspricht, können Sie eine neue Anforderungsklassifizierungsklasse von der SPRequestThrottleClassifier-Klasse ableiten.

TippTipp

Sie müssen nicht für jeden Anforderungstyp, dessen Steuerung verwaltet werden muss, eine neue Klasse erstellen. SharePoint Foundation verfügt nicht über ein vordefiniertes SPHttpDOCXThrottleClassifier-Element zum Verwalten der Steuerung von Anforderungen von DOCX-Dateien und nicht über ein SPHttpSVCThrottleClassifier-Element zum Verwalten von Anforderungen von REST-Diensten (Representational State Transfer). Stattdessen bietet das Programm ein allgemeineres SPHttpFileExtensionThrottleClassifier-Element. Bestimmte Objekte dieser Klasse können für bestimmte Dateinamenerweiterungen erstellt werden. Sie müssen also nur eine neue Klasse von SPRequestThrottleClassifier ableiten, wenn eine Kategorie von Anforderungsmerkmal vorliegt, die nicht von den vordefinierten Klassen abgedeckt ist, die von SPRequestThrottleClassifier abgeleitet sind.

Ableiten einer neuen Klasse

Zum Erstellen einer neuen Klassifizierungsklasse müssen mindestens zwei Aufgaben erledigt werden, und zwei weitere sind nahezu immer erforderlich. Dabei handelt es sich um die folgenden:

  • Setzen Sie die ThrottleLevel-Eigenschaft außer Kraft, die angibt, in welcher Phase der Steuerung, falls vorhanden, übereinstimmende Anforderungen blockiert werden. Sie können FirstStage (der Arbeitsprozess hat einen fehlerhaften Zustand), SecondStage (der Arbeitsprozess hatte in den letzten 60 Sekunden einen fehlerhaften Zustand) oder Never angeben. (Die Systemstandardeinstellung für Anforderungen, die keiner Klassifizierung entsprechen, ist deren Blockierung in der ersten Phase. Deshalb müssen Sie ein Klassifizierungsobjekt mit der Steuerungsstufe Never spezifisch für Anforderungen erstellen, die nicht der Steuerung unterliegen sollen.) Die ThrottleLevel-Eigenschaft ist schreibgeschützt. Wenn jedes Objekt in Ihrer Klasse dieselbe Steuerungsstufe haben soll, implementieren Sie die Eigenschaft so, dass diese Stufe stets zurückgegeben wird. Implementieren Sie sie andernfalls, um den Wert eines Sicherungsfelds zurückzugeben, das von einem Klassenkonstruktor festgelegt wird und einen Standardwert haben kann.

  • Setzen Sie die Match(HttpRequest)-Methode außer Kraft. Diese Methode enthält die Logik, die bestimmt, ob das Klassifizierungsobjekt eine HTTP-Anforderung als Übereinstimmung einstuft. Auf diese Weise wird die "Kategorie" der Klassifizierung gemäß der Bedeutung in der Tabelle weiter oben in diesem Kapitel effektiv definiert. Beispiele finden Sie bei den Match-Methoden der vier Klassen in der Tabelle.

Die beiden folgenden zusätzlichen Aufgaben, die nahezu immer ausgeführt werden müssen, lauten wie folgt:

  • Fügen Sie weitere Eigenschaften und Hilfsmethoden (wie von der Logik zum Außerkraftsetzen der Match(HttpRequest)-Methode benötigt) hinzu. Auch hierfür können Sie Beispiele den Klassen in der Tabelle entnehmen.

  • Fügen Sie einen Konstruktor für die Klasse hinzu. In der Regel benötigen Sie den Konstruktor zum Festlegen des Werts der ThrottleLevel-Eigenschaft und möglicherweise auch zum Festlegen des Werts anderer Eigenschaften in Ihrer Klasse.

Siehe auch

Aufgaben

Gewusst wie: Erstellen und Registrieren oder Aufheben der Registrierung einer Anforderungsklassifizierung

Konzepte

Anforderungsdrosselung