(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Filtern von Aktionen in ASP.NET-MVC-Anwendungen

.NET Framework 4

In ASP.NET-MVC definieren Controller Aktionsmethoden, die normalerweise in einer 1:1-Beziehung möglichen Benutzerinteraktionen zugeordnet sind, z. B. das Klicken auf einen Link oder Senden eines Formulars. Wenn der Benutzer z. B. auf einen Link klickt, wird eine Anforderung an den festgelegten Controller weitergeleitet, und die entsprechende Aktionsmethode wird aufgerufen.

In bestimmten Fällen muss aber direkt vor oder nach einer Aktionsmethode eine spezielle Logik ausgeführt werden. Um dies zu unterstützen, stellt ASP.NET-MVC Aktionsfilter bereit. Aktionsfilter sind benutzerdefinierte Attribute, mit denen Sie ein Pre-Action- oder Post-Action-Verhalten für Controller-Aktionsmethoden deklarieren können.

ASP.NET-MVC stellt die folgenden Aktionsfiltertypen bereit:

  • Autorisierungsfilter, mit dem Sicherheitsentscheidungen durchgeführt werden, um so das Ausführen einer Aktionsmethode ausgehend von z. B. einer Authentifizierung oder der Überprüfung von Anforderungseigenschaften zu gestatten oder zu verweigern. Die AuthorizeAttribute-Klasse ist ein Beispiel für einen Autorisierungsfilter.

  • Aktionsfilter, der die Aktionsmethodenausführung umschließt. Dieser Filter kann zusätzliche Verarbeitungsschritte übernehmen, z. B. das Bereitstellen zusätzlicher Daten für die Aktionsmethode, das Überprüfen des Rückgabewerts oder das Abbrechen der Ausführung der Aktionsmethode.

  • Ergebnisfilter, der die Ausführung des ActionResult-Objekts umschließt. Dieser Filter kann eine zusätzliche Verarbeitung des Ergebnisses durchführen, z. B. Änderungen in der HTTP-Antwort. Die OutputCacheAttribute-Klasse ist ein Beispiel für einen Ergebnisfilter.

  • Ausnahmefilter, der ausgeführt wird, wenn eine nicht behandelte Ausnahme in einer Aktionsmethode ausgelöst wird. Dies schließt auch Ausnahmen in Autorisierungsfiltern und bei der Ergebnisausführung ein. Ausnahmefilter können für Aufgaben wie die Protokollierung oder das Anzeigen einer Fehlerseite verwendet werden. Die HandleErrorAttribute-Klasse ist ein Beispiel für einen Ausnahmefilter.

In der Regel ist ein Aktionsfilter ein Attribut, das die abstrakte FilterAttribute-Klasse implementiert. Einige Aktionsfilter implementieren die FilterAttribute-Klasse direkt, z. B. AuthorizeAttribute und HandleErrorAttribute. Diese Aktionsfilter werden immer vor der Ausführung der Aktionsmethode aufgerufen.

Andere Aktionsfilter, z. B. OutputCacheAttribute, implementieren die abstrakte ActionFilterAttribute-Klasse, mit der der Aktionsfilter entweder vor oder nach der Aktionsmethode ausgeführt werden kann.

Sie können beliebige Aktionsmethoden oder Controller mit dem Aktionsfilterattribut kennzeichnen. Wenn das Attribut einen Controller kennzeichnet, gilt der Aktionsfilter für alle Aktionsmethoden in diesem Controller.

Im folgenden Beispiel wird die Standardimplementierung der HomeController-Klasse veranschaulicht. Im Beispiel wird das HandleError-Attribut zum Kennzeichnen des Controllers verwendet. Daher gilt der Filter für beide Aktionsmethoden im Controller.


[HandleError]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewData["Message"] = "Welcome to ASP.NET MVC!";

        return View();
    }

    public ActionResult About()
    {
        return View();
    }
}


Titel

Beschreibung

AuthorizeAttribute

Beschreibt, wie das Authorize-Attribut verwendet wird, um den Zugriff auf eine Aktionsmethode zu steuern.

OutputCacheAttribute

Beschreibt, wie das OutputCache-Attribut verwendet wird, um ein Ausgabecaching für eine Aktionsmethode bereitzustellen.

HandleErrorAttribute

Beschreibt, wie das HandleError-Attribut verwendet wird, um Ausnahmen zu behandeln, die von einer Aktionsmethode ausgelöst werden.

Erstellen von benutzerdefinierten Aktionsfiltern

Beschreibt, wie benutzerdefinierte Aktionsfilter implementiert werden.

Gewusst wie: Erstellen eines benutzerdefinierten Aktionsfilters

Erklärt, wie einer MVC-Anwendung ein benutzerdefinierter Aktionsfilter hinzugefügt wird.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.