Freigeben über


HttpMethodConstraint Klasse

Definition

Hiermit können Sie definieren, welche HTTP-Verben zulässig sind, wenn ASP.NET Routing bestimmt, ob eine URL mit einer Route übereinstimmt.

public ref class HttpMethodConstraint : System::Web::Routing::IRouteConstraint
public class HttpMethodConstraint : System.Web.Routing.IRouteConstraint
type HttpMethodConstraint = class
    interface IRouteConstraint
Public Class HttpMethodConstraint
Implements IRouteConstraint
Vererbung
HttpMethodConstraint
Implementiert

Beispiele

Das folgende Beispiel zeigt ein Route Objekt, dessen Constraints Eigenschaft ein Element enthält, das einen Schlüssel mit dem Namen httpMethod hat und einen Wert aufweist, der eine Instanz der HttpMethodConstraint Klasse ist.

void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    string[] allowedMethods = { "GET", "POST" };
    HttpMethodConstraint methodConstraints = new HttpMethodConstraint(allowedMethods);

    Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler());
    reportRoute.Constraints = new RouteValueDictionary { { "httpMethod", methodConstraints } };

    routes.Add(reportRoute);
}
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    RegisterRoutes(RouteTable.Routes)
End Sub

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    Dim urlPattern As String
    Dim reportRoute As Route
    Dim allowedMethods() As String = {"GET", "POST"}
    Dim methodConstraints As HttpMethodConstraint  
    
    methodConstraints = New HttpMethodConstraint(allowedMethods)
    
    Dim constraintValues = New With {.httpMethod = methodConstraints}
    
    urlPattern = "{locale}/{year}"
    
    reportRoute = New Route(urlPattern, New ReportRouteHandler)
    reportRoute.Constraints = New RouteValueDictionary(constraintValues)
    
    routes.Add(reportRoute)
End Sub

Hinweise

Mit der HttpMethodConstraint Klasse können Sie den Routenabgleich mit bestimmten HTTP-Verben einschränken. Sie können z. B. angeben, dass eine Route nur dann als Übereinstimmung für eine URL betrachtet wird, wenn das HTTP-Verb für die Anforderung lautet POST.

Um Einschränkungen für den Routenabgleich festzulegen, legen Sie die Constraints Eigenschaft der Route Klasse auf eine Instanz der RouteValueDictionary Klasse fest. Um eine HTTP-Verbeinschränkung festzulegen, legen Sie den Wert eines Wörterbuchelements auf ein HttpMethodConstraint Objekt und den Schlüssel auf einen beliebigen Namen fest.

In der HttpMethodConstraint Methode schließen Sie alle HTTP-Verben ein, die für die Route zulässig sind, wenn ASP.NET Routing bestimmt, ob die Route mit einer URL übereinstimmt.

Konstruktoren

Name Beschreibung
HttpMethodConstraint(String[])

Initialisiert eine neue Instanz der HttpMethodConstraint Klasse mithilfe der HTTP-Verben, die für die Route zulässig sind.

Eigenschaften

Name Beschreibung
AllowedMethods

Ruft die Auflistung zulässiger HTTP-Verben für die Route ab.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Bestimmt, ob die Anforderung mit einem HTTP-Verb durchgeführt wurde, das eines der zulässigen Verben für die Route ist.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IRouteConstraint.Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Eine Beschreibung dieses Mitglieds finden Sie unter Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Gilt für:

Weitere Informationen