Condividi tramite


HttpMethodConstraint Classe

Definizione

Consente di definire i verbi HTTP consentiti quando il routing ASP.NET determina se un URL corrisponde a una route.

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
Ereditarietà
HttpMethodConstraint
Implementazioni

Esempio

Nell'esempio seguente viene illustrato un Route oggetto la cui Constraints proprietà contiene un elemento con una chiave denominata httpMethod e che ha un valore che è un'istanza della HttpMethodConstraint classe .

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

Commenti

La HttpMethodConstraint classe consente di limitare la corrispondenza della route a determinati verbi HTTP. Ad esempio, è possibile specificare che una route viene considerata una corrispondenza per un URL solo quando il verbo HTTP per la richiesta è POST.

Per impostare vincoli per la corrispondenza delle route, impostare la Constraints proprietà della Route classe su un'istanza della RouteValueDictionary classe . Per impostare un vincolo di verbo HTTP, impostare il valore di un elemento dizionario su un HttpMethodConstraint oggetto e la chiave su qualsiasi nome.

HttpMethodConstraint Nel metodo vengono inclusi tutti i verbi HTTP consentiti per la route quando ASP.NET routing determina se la route corrisponde a un URL.

Costruttori

HttpMethodConstraint(String[])

Inizializza una nuova istanza della classe HttpMethodConstraint usando i verbi HTTP consentiti per la route.

Proprietà

AllowedMethods

Ottiene la raccolta dei verbi HTTP consentiti per la route.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Determina se la richiesta è stata effettuata con un verbo HTTP che è uno dei verbi consentiti per la route.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Per una descrizione di questo membro, vedere Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Si applica a

Vedi anche