HttpMethodConstraint Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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). |