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). |