Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

UriTemplate classe

 

Date de publication : novembre 2016

Classe qui représente un modèle URI (Uniform Resource Identifier).

Espace de noms:   System
Assembly:  System.ServiceModel (dans System.ServiceModel.dll)


public class UriTemplate

NomDescription
System_CAPS_pubmethodUriTemplate(String)

Initialise une nouvelle instance de la classe UriTemplate avec la chaîne de modèle spécifiée.

System_CAPS_pubmethodUriTemplate(String, Boolean)

Initialise une nouvelle instance de la classe UriTemplate.

System_CAPS_pubmethodUriTemplate(String, Boolean, IDictionary<String, String>)

Initialise une nouvelle instance de la classe UriTemplate.

System_CAPS_pubmethodUriTemplate(String, IDictionary<String, String>)

Initialise une nouvelle instance de la classe UriTemplate.

NomDescription
System_CAPS_pubpropertyDefaults

Obtient une collection de paires nom/valeur pour toutes les valeurs de paramètre par défaut.

System_CAPS_pubpropertyIgnoreTrailingSlash

Spécifie si les barres obliques “/” du modèle doivent être ignorées lors de la mise en correspondance des URI candidats.

System_CAPS_pubpropertyPathSegmentVariableNames

Obtient une collection de noms de variables utilisés dans les segments de chemin d'accès du modèle.

System_CAPS_pubpropertyQueryValueVariableNames

Obtient une collection de noms de variables utilisés dans la chaîne de requête du modèle.

NomDescription
System_CAPS_pubmethodBindByName(Uri, IDictionary<String, String>)

Crée un URI à partir du modèle et de la collection de paramètres.

System_CAPS_pubmethodBindByName(Uri, IDictionary<String, String>, Boolean)

Crée un URI à partir du modèle et de la collection de paramètres.

System_CAPS_pubmethodBindByName(Uri, NameValueCollection)

Crée un URI à partir du modèle et de la collection de paramètres.

System_CAPS_pubmethodBindByName(Uri, NameValueCollection, Boolean)

Crée un URI à partir du modèle et de la collection de paramètres.

System_CAPS_pubmethodBindByPosition(Uri, String[])

Crée un URI à partir du modèle et d'un tableau de valeurs de paramètres.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodIsEquivalentTo(UriTemplate)

Indique si un UriTemplate possède une structure similaire à un autre.

System_CAPS_pubmethodMatch(Uri, Uri)

Tente de faire correspondre un objet T:System.URI et un objet UriTemplate.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodToString()

Obtient une représentation sous forme de chaîne de l'instance UriTemplate.(Remplace Object.ToString().)

Un modèle URI vous permet de définir un jeu d'URI de structure similaire. Les modèles sont composés de deux parties : un chemin d'accès et une requête. Un chemin d'accès est constitué d'une série de segments délimités par une barre oblique (/). Chaque segment peut avoir une valeur littérale, une valeur variable (écrite entre accolades [{}], avec obligation de correspondre au contenu exact d'un segment) ou un caractère générique (un astérisque [*] qui correspond au reste du chemin d'accès). L'expression de requête peut être entièrement omise. Si elle est présente, elle spécifie une série non triée de paires nom/valeur. Les éléments de l'expression de requête peuvent être des paires littérales (?x=2) ou des paires variables (?x={val}). Les valeurs non couplées ne sont pas autorisées. Les exemples suivants présentent des chaînes de modèles valides :

  • "météo/WA/Seattle"

  • "météo/{état}/{ville}"

  • "météo/*"

  • "météo/{état}/{ville}?prévisions=aujourd'hui

  • "météo/{état}/{ville}?prévisions={jour}

Les modèles URI précédents peuvent être utilisés pour organiser les bulletins météorologiques. Les segments figurant entre accolades sont des variables ; tous les autres éléments sont des littéraux. Vous pouvez convertir une instance UriTemplate en Uri en remplaçant les variables par des valeurs réelles. Par exemple, si vous considérez le modèle "météo/{état}/{ville}" et que vous indiquez des valeurs pour les variables "{état}" et "{ville}", vous obtiendrez "météo/WA/Seattle". Pour un URI candidat donné, vous pouvez vérifier s'il correspond à un modèle URI donné en appelant Match(Uri, Uri). Vous pouvez également utiliser des instances UriTemplate pour créer un objet Uri à partir d'un jeu de valeurs variables en appelant BindByName(Uri, NameValueCollection) ou BindByPosition(Uri, String[]).

Le code suivant montre comment créer une instance UriTemplate, la lier et la faire correspondre à un URI candidat.

UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast={day}");
Uri prefix = new Uri("http://localhost");

Console.WriteLine("PathSegmentVariableNames:");
foreach (string name in template.PathSegmentVariableNames)
{
    Console.WriteLine("     {0}", name);
}
Console.WriteLine();

Console.WriteLine("QueryValueVariableNames:");
foreach (string name in template.QueryValueVariableNames)
{
    Console.WriteLine("     {0}", name);
}
Console.WriteLine();

Uri positionalUri = template.BindByPosition(prefix, "Washington", "Redmond", "Today");

NameValueCollection parameters = new NameValueCollection();
parameters.Add("state", "Washington");
parameters.Add("city", "Redmond");
parameters.Add("day", "Today");
Uri namedUri = template.BindByName(prefix, parameters);

Uri fullUri = new Uri("http://localhost/weather/Washington/Redmond?forecast=today");
UriTemplateMatch results = template.Match(prefix, fullUri);

Console.WriteLine("Matching {0} to {1}", template.ToString(), fullUri.ToString());

if (results != null)
{
    foreach (string variableName in results.BoundVariables.Keys)
    {
        Console.WriteLine("   {0}: {1}", variableName, results.BoundVariables[variableName]);
    }
}

.NET Framework
Disponible depuis 3.5
Silverlight
Disponible depuis 4.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: