HttpMethodConstraint 类

定义

使你能够在 ASP.NET 确定 URL 是否匹配路由时定义允许使用的 HTTP 谓词。

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 谓词匹配的路由。 例如,可以指定仅当请求的 HTTP 谓词为 POST时,路由才被视为 URL 的匹配项。

若要设置路由匹配的约束,请将 类的 Route 属性设置为 ConstraintsRouteValueDictionary的实例。 若要设置 HTTP 谓词约束,请将一个字典元素的值设置为 HttpMethodConstraint 对象,将键设置为任何名称。

在 方法中 HttpMethodConstraint ,在 ASP.NET 路由确定路由是否与 URL 匹配时,包括允许用于路由的所有 HTTP 谓词。

构造函数

HttpMethodConstraint(String[])

使用允许用于该路由的 HTTP 谓词初始化 HttpMethodConstraint 类的新实例。

属性

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)

适用于

另请参阅