Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

UriTemplateTable, classe

Classe qui représente un jeu associatif d'objets UriTemplate.

System.Object
  System.UriTemplateTable

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

public class UriTemplateTable

Le type UriTemplateTable expose les membres suivants.

  NomDescription
Méthode publiqueUriTemplateTable()Initialise une nouvelle instance de la classe UriTemplateTable.
Méthode publiqueUriTemplateTable(Uri)Initialise une nouvelle instance de la classe UriTemplateTable avec l'adresse de base spécifiée.
Méthode publiqueUriTemplateTable(IEnumerable<KeyValuePair<UriTemplate, Object>>)Initialise une nouvelle instance de la classe UriTemplateTable avec la collection spécifiée de paires clé/valeur.
Méthode publiqueUriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate, Object>>)Initialise une nouvelle instance de la classe UriTemplateTable avec l'adresse de base spécifiée et la collection de paires clé/valeur.
Début

  NomDescription
Propriété publiqueBaseAddressObtient et définit l'adresse de base de l'instance UriTemplateTable.
Propriété publiqueIsReadOnlyObtient une valeur qui spécifie si l'objet UriTemplateTable est en lecture seule.
Propriété publiqueKeyValuePairsObtient une collection de paires clé/valeur qui se composent d'objets UriTemplate et de leurs données associées.
Propriété publiqueOriginalBaseAddressObtient l'adresse de base d'origine.
Début

  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalize 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.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueMakeReadOnlyMet UriTemplateTable en lecture seule.
Méthode publiqueMatchTente de faire correspondre un Uri candidat et UriTemplateTable.
Méthode publiqueMatchSingleTente de faire correspondre un Uri candidat et UriTemplateTable.
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

Un objet UriTemplateTable est un jeu associatif d'objets UriTemplate liés à un objet choisi par le développeur. Elle vous permet de faire correspondre les URI (Uniform Resource Identifiers) des candidats par rapport aux modèles du jeu et de récupérer les données associées aux modèles correspondants. Le contenu de l'objet UriTemplateTable peut être modifié jusqu'à ce que la méthode MakeReadOnly(Boolean) soit appelée, auquel cas l'un des types de validation suivants intervient :

  • Lorsque MakeReadOnly(Boolean) est appelé passer dans false, les contrôles d'UriTemplateTable pour vérifier le tableau ne contient aucun plusieurs modèle structurel-équivalent. Si elle recherche des modèles de ce type, elle lève une exception. Ce type de validation est utilisé conjointement à la méthode MatchSingle(Uri) lorsque vous souhaitez garantir qu'un seul modèle correspond à un URI entrant.

  • Lorsque MakeReadOnly(Boolean) est appelé passer dans true, des modèles structurel-équivalents multiples peuvent être contenus dans UriTemplateTable. Toutefois, toutes les chaînes de demande des modèles ne doivent pas être ambiguës ; les chaînes de demande identiques sont autorisées. Pour plus d'informations sur les chaînes de demande ambiguës, consultez UriTemplate et UriTemplateTable.

Le code suivant indique comment créer un objet UriTemplateTable, le remplir et l'utiliser pour établir une correspondance par rapport à un objet Uri de candidat.


Uri prefix = new Uri("http://localhost/");

//Create a series of templates
UriTemplate weatherByCity  = new UriTemplate("weather/ state}/ city}");
UriTemplate weatherByCountry = new UriTemplate("weather/ country}/ village}");       
UriTemplate weatherByState = new UriTemplate("weather/ state}");
UriTemplate traffic = new UriTemplate("traffic/*");
UriTemplate wildcard = new UriTemplate("*");

//Create a template table
UriTemplateTable table = new UriTemplateTable(prefix);
//Add each template to the table with some associated data
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCity, "weatherByCity"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCountry, "weatherByCountry"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByState, "weatherByState"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(traffic, "traffic"));

table.MakeReadOnly(true);
Console.WriteLine("KeyValuePairs:");
foreach (KeyValuePair<UriTemplate, Object> keyPair in table.KeyValuePairs)
{
    Console.WriteLine("     0},  1}", keyPair.Key, keyPair.Value);
}

Console.WriteLine();

//Call MatchSingle to retrieve some match results:
ICollection<UriTemplateMatch> results = null;
Uri weatherInSeattle = new Uri("http://localhost/weather/Washington/Seattle");

results = table.Match(weatherInSeattle);
if( results != null)
{
    Console.WriteLine("Matching templates:");
    foreach (UriTemplateMatch match in results)
    {
        Console.WriteLine("    0}", match.Template);
    }
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft