Leggere in inglese

Condividi tramite


Route.Constraints Proprietà

Definizione

Ottiene o imposta un dizionario di espressioni che specificano i valori validi per un parametro URL.

C#
public System.Web.Routing.RouteValueDictionary Constraints { get; set; }

Valore della proprietà

Oggetto che contiene i nomi di parametro e le espressioni.

Esempio

Nell'esempio seguente viene illustrato come creare un Route oggetto e impostare le Constraintsproprietà , DataTokense Defaults .

C#
void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler());
    reportRoute.Defaults = new RouteValueDictionary { { "locale", "en-US" }, { "year", DateTime.Now.Year.ToString() } };
    reportRoute.Constraints = new RouteValueDictionary { { "locale", "[a-z]{2}-[a-z]{2}" }, { "year", @"\d{4}" } };
    reportRoute.DataTokens = new RouteValueDictionary { { "format", "short" } };
    routes.Add(reportRoute);
}

Nell'esempio seguente viene illustrato un Route oggetto la cui Constraints proprietà contiene un parametro denominato httpMethod con un'istanza della HttpMethodConstraint classe per il valore .

C#
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);
}

Commenti

La Constraints proprietà consente di limitare i valori accettabili per un parametro URL elaborato da una route. Si assegna un RouteValueDictionary oggetto alla Constraints proprietà . Ogni elemento nell'oggetto RouteValueDictionary contiene il nome di un parametro e uno dei seguenti:

  • Stringa che definisce un'espressione regolare. L'espressione regolare non fa distinzione tra maiuscole e minuscole.

  • Oggetto che implementa l'interfaccia IRouteConstraint e che include un Match metodo .

La classe HttpMethodConstraint implementa l'interfaccia IRouteConstraint. È possibile includere un'istanza della HttpMethodConstraint classe come vincolo per specificare quali verbi HTTP sono accettabili per la route.

Si applica a

Prodotto Versioni
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Vedi anche