HttpMethodConstraint Classe

Definição

Permite definir quais os verbos HTTP permitidos quando o encaminhamento ASP.NET determina se um URL corresponde a uma rota.

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
Herança
HttpMethodConstraint
Implementações

Exemplos

O exemplo seguinte mostra um Route objeto cuja Constraints propriedade contém um item que tem uma chave nomeada httpMethod e que tem um valor que é uma instância da 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

Observações

A HttpMethodConstraint classe permite-te limitar a correspondência de rotas a certos verbos HTTP. Por exemplo, pode especificar que uma rota é considerada correspondente a uma URL apenas quando o verbo HTTP do pedido é POST.

Para definir restrições para correspondência de rotas, defines a Constraints propriedade da Route classe para uma instância da RouteValueDictionary classe. Para definir uma restrição verbal HTTP, defines o valor de um elemento do dicionário para um HttpMethodConstraint objeto e a chave para qualquer nome.

No método HttpMethodConstraint, incluis todos os verbos HTTP permitidos para a rota quando ASP.NET roteamento determina se a rota corresponde a uma URL.

Construtores

Name Description
HttpMethodConstraint(String[])

Inicializa uma nova instância da HttpMethodConstraint classe usando os verbos HTTP permitidos para a rota.

Propriedades

Name Description
AllowedMethods

Obtém a coleção de verbos HTTP permitidos para a rota.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

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

Determina se o pedido foi feito com um verbo HTTP que é um dos verbos permitidos para a rota.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Para uma descrição deste elemento, veja Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Aplica-se a

Ver também