Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase UriTemplateTable

 

Publicado: octubre de 2016

Una clase que representa un conjunto asociativo de objetos UriTemplate.

Espacio de nombres:   System
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)

System.Object
  System.UriTemplateTable

public class UriTemplateTable

NombreDescripción
System_CAPS_pubmethodUriTemplateTable()

Inicializa una nueva instancia de la clase UriTemplateTable.

System_CAPS_pubmethodUriTemplateTable(IEnumerable<KeyValuePair<UriTemplate, Object>>)

Inicializa una nueva instancia de la clase UriTemplateTable con la colección de pares clave/valor especificados.

System_CAPS_pubmethodUriTemplateTable(Uri)

Inicializa una instancia nueva de la clase UriTemplateTable con la dirección base especificada.

System_CAPS_pubmethodUriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate, Object>>)

Inicializa una nueva instancia de la clase UriTemplateTable con la dirección base y la colección de pares clave/valor especificadas.

NombreDescripción
System_CAPS_pubpropertyBaseAddress

Obtiene y establece la dirección base para la instancia UriTemplateTable.

System_CAPS_pubpropertyIsReadOnly

Obtiene un valor que especifica si UriTemplateTable es de solo lectura.

System_CAPS_pubpropertyKeyValuePairs

Obtiene una colección de pares de clave/valor que se componen de los objetos UriTemplate y sus datos asociados.

System_CAPS_pubpropertyOriginalBaseAddress

Obtiene la dirección base original.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodMakeReadOnly(Boolean)

Hace que UriTemplateTable sea de solo lectura.

System_CAPS_pubmethodMatch(Uri)

Intenta hacer coincidir el Uri de un candidato con UriTemplateTable.

System_CAPS_pubmethodMatchSingle(Uri)

Intenta hacer coincidir el Uri de un candidato con UriTemplateTable.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

UriTemplateTable es un conjunto asociativo de objetos UriTemplate enlazado a un objeto elegido por el desarrollador. Le permite hacer coincidir los identificadores uniformes de recursos (URI) del candidato con las plantillas del conjunto y recuperar los datos asociados a las plantillas correspondientes. Se puede cambiar el contenido de UriTemplateTable hasta que se llame al método MakeReadOnly(Boolean). En ese momento se producirá uno de los tipos siguientes de validación:

  • Cuando se llama a MakeReadOnly(Boolean) al pasar en false, UriTemplateTable realiza una comprobación para asegurarse de que la tabla no contiene varias plantillas estructuralmente equivalentes. Si encuentra esas plantillas, inicia una excepción. Este tipo de validación se utiliza junto con MatchSingle(Uri) cuando desea asegurarse de que sólo una plantilla coincide con un URI de entrada.

  • Cuando se llama a MakeReadOnly(Boolean) al pasar en true, varias plantillas estructuralmente equivalentes pueden estar contenidas dentro de una UriTemplateTable. Sin embargo, las cadenas de consulta de las plantillas no deben ser ambiguas; se permiten las cadenas de consulta idénticas.Para obtener más información sobre cadenas de consulta ambiguas, vea UriTemplate y UriTemplateTable.

En el código siguiente se muestra cómo crear UriTemplateTable, rellenarlo y utilizarlo para que coincida con un Uri candidato.

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
Disponible desde 3.5

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: