Compartir a través de


HttpMethodConstraint Clase

Definición

Le permite definir qué verbos HTTP se permiten cuando el enrutamiento de ASP.NET determina si una dirección URL coincide con una ruta.

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
Herencia
HttpMethodConstraint
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra un Route objeto cuya Constraints propiedad contiene un elemento con una clave denominada httpMethod y que tiene un valor que es una instancia de la HttpMethodConstraint clase .

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

Comentarios

La HttpMethodConstraint clase permite limitar la coincidencia de rutas a determinados verbos HTTP. Por ejemplo, puede especificar que una ruta se considera una coincidencia para una dirección URL solo cuando el verbo HTTP de la solicitud es POST.

Para establecer restricciones para la coincidencia de rutas, establezca la Constraints propiedad de la Route clase en una instancia de la RouteValueDictionary clase . Para establecer una restricción de verbo HTTP, establezca el valor de un elemento de diccionario en un HttpMethodConstraint objeto y la clave en cualquier nombre.

En el HttpMethodConstraint método , se incluyen todos los verbos HTTP permitidos para la ruta cuando ASP.NET enrutamiento determina si la ruta coincide con una dirección URL.

Constructores

HttpMethodConstraint(String[])

Inicializa una nueva instancia de la clase HttpMethodConstraint usando los verbos HTTP que se permiten para la ruta.

Propiedades

AllowedMethods

Obtiene la colección de verbos HTTP permitidos para la ruta.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Determina si la solicitud se realizó con un verbo HTTP que es uno de los verbos permitidos para la ruta.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Para obtener una descripción de este miembro, vea Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Se aplica a

Consulte también