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 namens httpMethod 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 HttpMethodConstraint der -Klasse können Sie den Routenabgleich auf bestimmte HTTP-Verben beschränken. Sie können beispielsweise angeben, dass eine Route nur dann als Übereinstimmung für eine URL angesehen 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 -Objekt und den Schlüssel auf einen HttpMethodConstraint beliebigen Namen fest.

In die 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

HttpMethodConstraint(String[])

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

Eigenschaften

AllowedMethods

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

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

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

Bestimmt, ob die Anforderung mit einem HTTP-Verb erfolgt ist, bei dem es sich um ein zulässiges Verb für die Route handelt.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

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

Gilt für:

Weitere Informationen