Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe UriTemplate

Uma classe que representa um modelo de identificador de recursos uniforme (URI).

Namespace:  System
Assembly:  System.ServiceModel (em System.ServiceModel.dll)
public class UriTemplate

O tipo UriTemplate expõe os membros a seguir.

  NomeDescrição
Método públicoUriTemplate(String)Inicializa uma nova instância de UriTemplate classe com a seqüência de caracteres do modelo especificado.
Método públicoUriTemplate(String, Boolean)Initializes a new instance of the UriTemplate class.
Método públicoUriTemplate(String, IDictionary<String, String>)Initializes a new instance of the UriTemplate class.
Método públicoUriTemplate(String, Boolean, IDictionary<String, String>)Initializes a new instance of the UriTemplate class.
Início
  NomeDescrição
Propriedade públicaDefaultsObtém uma coleção de pares nome/valor quaisquer valores de parâmetro padrão.
Propriedade públicaIgnoreTrailingSlashEspecifica se finais barras "/" no modelo devem ser ignorado quando o candidato URIs de correspondência.
Propriedade públicaPathSegmentVariableNamesObtém uma coleção de nomes de variáveis usados em segmentos de caminho no modelo.
Propriedade públicaQueryValueVariableNamesObtém uma coleção de nomes de variáveis usadas dentro da seqüência de consulta no modelo.
Início
  NomeDescrição
Método públicoBindByName(Uri, IDictionary<String, String>)Cria um novo URI a partir do modelo e a coleção de parâmetros.
Método públicoBindByName(Uri, NameValueCollection)Cria um novo URI a partir do modelo e a coleção de parâmetros.
Método públicoBindByName(Uri, IDictionary<String, String>, Boolean)Cria um novo URI a partir do modelo e a coleção de parâmetros.
Método públicoBindByName(Uri, NameValueCollection, Boolean)Cria um novo URI a partir do modelo e a coleção de parâmetros.
Método públicoBindByPositionCria um novo URI a partir do modelo e uma matriz de valores de parâmetro.
Método públicoEquals(Object) Determina se o Object especificado é igual ao Object atual. (Herdado de Object.)
Método protegidoFinalize Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoGetHashCodeServe como uma função hash para um tipo específico. (Herdado de Object.)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoIsEquivalentToIndica se um UriTemplate é estruturalmente equivalente para outro.
Método públicoMatchTenta coincidir com um URI para um UriTemplate.
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método públicoToStringRetorna uma representação de seqüência de caracteres da UriTemplate instância. (Substitui Object.ToString().)
Início

O modelo URI permite que você defina um conjunto de URIs estruturalmente semelhante.Modelos são compostos de duas partes, um caminho e uma consulta.Um caminho consiste em uma série de segmentos delimitados por uma barra (/).Cada segmento pode ter um valor literal, um valor da variável (escritos dentro de chaves [{}], restrita para coincidir com o conteúdo de exatamente um segmento) ou um caractere curinga (escrito como um asterisco [*] corresponde a "o resto do caminho"), que deve aparecer no final do caminho.A expressão de consulta pode ser omitida inteiramente.Se estiver presente, ele especifica uma seqüência desordenada de pares nome/valor.Elementos da expressão de consulta podem ser qualquer um dos pares literais (? x = 2) ou pares de variáveis (? x = {val}).Os valores da marcação sem paridade não são permitidos.Os exemplos a seguir mostram seqüências de caracteres de modelo válido:

  • "WA/temperatura/Seattle"

  • "sobre / {state} / {cidade}"

  • "clima / *"

  • "sobre / {state} / {cidade}? previsão = hoje

  • "sobre / {state} / {cidade}? previsão = {dia}

Os modelos URI precedentes podem ser usados para organizar os relatórios de meteorologia.Segmentos entre chaves são variáveis, tudo o que é um literal.Você pode converter um UriTemplate instância em um Uri , substituindo variáveis com valores reais.Por exemplo, levando o modelo "sobre / {state} / {cidade}" e a colocação de valores para as variáveis de "{state}" e "{cidade}" oferece a você "WA/temperatura/Seattle".Devido a um URI do candidato, você pode testar se ele corresponde a um determinado modelo URI chamando Match(Uri, Uri).Você também pode usar UriTemplate instâncias para criar um Uri de um conjunto de valores de variável chamando BindByName(Uri, NameValueCollection) ou BindByPosition(Uri, String[]).

O código a seguir demonstra como criar um UriTemplate de instância e vincular e corresponder a um candidato URI.


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

Com suporte em: 4, 3.5

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou posterior, Windows XP SP3, Windows Server 2008 (Server Core não compatível), Windows Server 2008 R2 (Server Core não compatível com SP1 ou posterior), Windows Server 2003 SP2

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET Framework.
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.