FileNameRouteConstraint 类

定义

将路由参数限制为仅表示文件名值。 不验证路由值是否包含有效的文件系统字符,或者该值是否表示磁盘上的实际文件。

public ref class FileNameRouteConstraint : Microsoft::AspNetCore::Routing::IRouteConstraint
public class FileNameRouteConstraint : Microsoft.AspNetCore.Routing.IRouteConstraint
public class FileNameRouteConstraint : Microsoft.AspNetCore.Routing.IRouteConstraint, Microsoft.AspNetCore.Routing.Matching.IParameterLiteralNodeMatchingPolicy
type FileNameRouteConstraint = class
    interface IParameterPolicy
    interface IRouteConstraint
type FileNameRouteConstraint = class
    interface IRouteConstraint
    interface IParameterPolicy
type FileNameRouteConstraint = class
    interface IRouteConstraint
    interface IParameterPolicy
    interface IParameterLiteralNodeMatchingPolicy
Public Class FileNameRouteConstraint
Implements IRouteConstraint
Public Class FileNameRouteConstraint
Implements IParameterLiteralNodeMatchingPolicy, IRouteConstraint
继承
FileNameRouteConstraint
实现

注解

此约束可用于消除静态文件请求与应用程序提供的动态内容请求的歧义。

此约束通过检查 () / 分隔的值的最后一个 URL 路径段来确定路由值是否表示文件名。 最后一个段必须包含点 (.) 字符,后跟一个或多个非 (.) 字符。

如果路由值不包含 , / 则整个值将被解释为最后一段。

FileNameRouteConstraint不会尝试验证值是否包含当前操作系统的法律文件名。

FileNameRouteConstraint不会尝试验证 该值是否表示磁盘上的实际文件。

将作为文件名匹配的路由值示例-说明

  • /a/b/c.txt 最后一段包含后 . 跟其他字符的 。
  • /hello.world.txt 最后一段包含后 . 跟其他字符的 。
  • hello.world.txt 最后一段包含后 . 跟其他字符的 。
  • .gitignore 最后一段包含后 . 跟其他字符的 。

将拒绝为非文件名说明的路由值的示例

  • /a/b/c 最终段不包含 .
  • /a/b.d/c 最终段不包含 .
  • /a/b.d/c/ 最后一段为空。
  • 值为空

构造函数

FileNameRouteConstraint()

将路由参数限制为仅表示文件名值。 不验证路由值是否包含有效的文件系统字符,或者该值是否表示磁盘上的实际文件。

方法

Match(HttpContext, IRouter, String, RouteValueDictionary, RouteDirection)

确定 URL 参数是否包含此约束的有效值。

显式接口实现

IParameterLiteralNodeMatchingPolicy.MatchesLiteral(String, String)

将路由参数限制为仅表示文件名值。 不验证路由值是否包含有效的文件系统字符,或者该值是否表示磁盘上的实际文件。

适用于