Бөлісу құралы:


HttpMethodConstraint Класс

Определение

Позволяет определить, какие HTTP-команды разрешены, если маршрутизация ASP.NET определяет, соответствует ли URL-адрес маршруту.

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
Наследование
HttpMethodConstraint
Реализации

Примеры

В следующем примере показан Route объект, свойство которого Constraints содержит элемент с именем httpMethod ключа и имеет значение, которое является экземпляром HttpMethodConstraint класса.

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

Комментарии

Класс HttpMethodConstraint позволяет ограничить сопоставление маршрутов определенными http-командами. Например, можно указать, что маршрут считается совпадением для URL-адреса только в том случае, если http-команда для запроса POST.

Чтобы задать ограничения для сопоставления маршрутов, задайте Constraints для Route свойства класса экземпляр RouteValueDictionary класса. Чтобы задать ограничение http-команды, задайте значение одного элемента словаря объекту HttpMethodConstraint и ключу любого имени.

HttpMethodConstraint В методе включены все HTTP-команды, которые разрешены для маршрута, когда маршрутизация ASP.NET определяет, соответствует ли маршрут URL-адресу.

Конструкторы

Имя Описание
HttpMethodConstraint(String[])

Инициализирует новый экземпляр HttpMethodConstraint класса с помощью HTTP-команд, разрешенных для маршрута.

Свойства

Имя Описание
AllowedMethods

Возвращает коллекцию разрешенных HTTP-команд для маршрута.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Определяет, был ли запрос выполнен с http-командой, которая является одной из разрешенных команд для маршрута.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IRouteConstraint.Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection)

Описание этого элемента см. в разделе Match(HttpContextBase, Route, String, RouteValueDictionary, RouteDirection).

Применяется к

См. также раздел