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