Compartilhar via


HttpMethodConstraint Classe

Definição

Permite que você defina quais verbos HTTP são permitidos quando o roteamento do ASP.NET determina se uma 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 a seguir mostra um Route objeto cuja Constraints propriedade contém um item que tem uma chave chamada 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

Comentários

A HttpMethodConstraint classe permite limitar a correspondência de rotas a determinados verbos HTTP. Por exemplo, você pode especificar que uma rota é considerada uma correspondência para uma URL somente quando o verbo HTTP para a solicitação é POST.

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

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

Construtores

HttpMethodConstraint(String[])

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

Propriedades

AllowedMethods

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

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

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

Determina se a solicitação foi feita com um verbo HTTP que é um dos verbos permitidos para a rota.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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

Para obter uma descrição desse membro, confira Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Aplica-se a

Confira também