次の方法で共有


NonFileNameRouteConstraint クラス

定義

ファイル名以外の値のみを表すルート パラメーターを制約します。 ルート値に有効なファイル システム文字が含まれていること、または値がディスク上の実際のファイルを表していることを検証しません。

public ref class NonFileNameRouteConstraint : Microsoft::AspNetCore::Routing::IRouteConstraint
public class NonFileNameRouteConstraint : Microsoft.AspNetCore.Routing.IRouteConstraint
public class NonFileNameRouteConstraint : Microsoft.AspNetCore.Routing.IRouteConstraint, Microsoft.AspNetCore.Routing.Matching.IParameterLiteralNodeMatchingPolicy
type NonFileNameRouteConstraint = class
    interface IParameterPolicy
    interface IRouteConstraint
type NonFileNameRouteConstraint = class
    interface IRouteConstraint
    interface IParameterPolicy
type NonFileNameRouteConstraint = class
    interface IRouteConstraint
    interface IParameterPolicy
    interface IParameterLiteralNodeMatchingPolicy
Public Class NonFileNameRouteConstraint
Implements IRouteConstraint
Public Class NonFileNameRouteConstraint
Implements IParameterLiteralNodeMatchingPolicy, IRouteConstraint
継承
NonFileNameRouteConstraint
実装

注釈

この制約を使用すると、アプリケーションから提供される静的ファイルと動的コンテンツの要求のあいまいさを解消できます。

この制約は、ルート値がファイル名を表すかどうかを判断するために、値の最後の URL パス セグメント (で /区切られた) を調べます。 最後のセグメントには、ドット (.) 文字の後に 1 つ以上の non-(.) 文字が続く必要があります。

ルート値に が含 / まれていない場合、値全体が最後のセグメントとして解釈されます。

では NonFileNameRouteConstraint 、現在のオペレーティング システムの有効なファイル名が値に含まれていることを検証しようとはしません。

非ファイル名-説明として一致するルート値の例

  • /a/b/c : 最後のセグメントには が .含まれていません。
  • /a/b.d/c : 最後のセグメントには が .含まれていません。
  • /a/b.d/c/ : 最後のセグメントが空です。
  • : 値が空です

ファイル名-description として拒否されるルート値の例

  • /a/b/c.txt : 最後のセグメントには、 の後に他の . 文字が含まれます。
  • /hello.world.txt : 最後のセグメントには、 の後に他の . 文字が含まれます。
  • hello.world.txt : 最後のセグメントには、 の後に他の . 文字が含まれます。
  • .gitignore : 最後のセグメントには、 の後に他の . 文字が含まれます。

コンストラクター

NonFileNameRouteConstraint()

ファイル名以外の値のみを表すルート パラメーターを制約します。 ルート値に有効なファイル システム文字が含まれていること、または値がディスク上の実際のファイルを表していることを検証しません。

メソッド

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

URL パラメーターにこの制約の正しい値が含まれているかどうかを判断します。

明示的なインターフェイスの実装

IParameterLiteralNodeMatchingPolicy.MatchesLiteral(String, String)

ファイル名以外の値のみを表すルート パラメーターを制約します。 ルート値に有効なファイル システム文字が含まれていること、または値がディスク上の実際のファイルを表していることを検証しません。

適用対象