HttpMethodConstraint 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使你能够在 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 属性设置为 Constraints 类RouteValueDictionary的实例。 若要设置 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)。 |