Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe UriTemplate

Classe che rappresenta un modello (URI) di URI (Uniform Resource Identifier).

Spazio dei nomi:  System
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public class UriTemplate

Il tipo UriTemplate espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoUriTemplate(String)Inizializza una nuova istanza di UriTemplate classe con la stringa di modello specificata.
Metodo pubblicoUriTemplate(String, Boolean)Inizializza una nuova istanza di UriTemplate classe.
Metodo pubblicoUriTemplate(String, IDictionary<String, String>)Inizializza una nuova istanza di UriTemplate classe.
Metodo pubblicoUriTemplate(String, Boolean, IDictionary<String, String>)Inizializza una nuova istanza di UriTemplate classe.
In alto

  NomeDescrizione
Proprietà pubblicaDefaultsOttiene una raccolta di coppie nome/valore per tutti i valori dei parametri predefiniti.
Proprietà pubblicaIgnoreTrailingSlashSpecifica se “/„ delle barre finali nel modello deve essere ignorato in corrispondenza dell'URI candidate.
Proprietà pubblicaPathSegmentVariableNamesOttiene una raccolta di nomi di variabili utilizzate nei segmenti di percorso nel modello.
Proprietà pubblicaQueryValueVariableNamesOttiene una raccolta di nomi di variabili utilizzate nella stringa di query nel modello.
In alto

  NomeDescrizione
Metodo pubblicoBindByName(Uri, IDictionary<String, String>)Crea un nuovo URI dal modello e dalla raccolta di parametri.
Metodo pubblicoBindByName(Uri, NameValueCollection)Crea un nuovo URI dal modello e dalla raccolta di parametri.
Metodo pubblicoBindByName(Uri, IDictionary<String, String>, Boolean)Crea un nuovo URI dal modello e dalla raccolta di parametri.
Metodo pubblicoBindByName(Uri, NameValueCollection, Boolean)Crea un nuovo URI dal modello e dalla raccolta di parametri.
Metodo pubblicoBindByPositionCrea un nuovo URI dal modello e da una matrice di valori del parametro.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoIsEquivalentToindica se a UriTemplate è struttura è equivalente a un altro.
Metodo pubblicoMatchTenta di trovare una corrispondenza a URI a un oggetto UriTemplate.
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToStringRestituisce una rappresentazione di stringa di UriTemplate istanza. (Esegue l'override di Object.ToString()).
In alto

Un modello URI consente di definire un set di URI strutturale simili. I modelli sono costituiti da due parti, un percorso e di una query. Un percorso consiste in una serie di segmenti separati da una barra (/). Ogni segmento può avere un valore letterale, un valore variabile (scrittiinterno delle parentesi graffe [{}], limitato in base al contenuto di esattamente un segmento), o un carattere jolly (scritto come asterisco [] *, che corrisponde a “il resto del percorso„), che deve essere visualizzato alla fine del percorso. L'espressione di query può essere omesso completamente. Se presente, specifica una stringa non ordinata di coppie nome/valore. Gli elementi dell'espressione di query possono essere o le coppie letterali (? x=2) o le coppie di variabile (? x= val {}). I valori non appena non sono consentiti. Le stringhe di modello valide gli esempi riportati di seguito vengono illustrate:

  • “weather/WA/Seattle„

  • “sopravvive {di stato} // {città}„

  • “weather/*„

  • “non {di stato} // {} città? forecast=today

  • “tempo {di stato} // {} città? forecast= {} giorno

I modelli precedenti URI è possibile utilizzare per l'organizzazione delle previsioni del tempo. I segmenti tra parentesi graffe sono variabili, tutto il resto è un valore letterale. È possibile convertire un oggetto UriTemplate istanza di in Uri sostituzione delle variabili con valori effettivi. Ad esempio, seguendo modello “tempo {di stato} // {città}„ e inserendo i valori per le variabili “{stato}„ e “{città}„ offre “weather/WA/Seattle„. Dato un URI candidate, è possibile verificare se corrisponde un modello URI specificato chiamando Match(Uri, Uri). È inoltre possibile utilizzare UriTemplate istanze per creare un oggetto Uri da un set di valori variabili chiamando BindByName(Uri, NameValueCollection) o BindByPosition(Uri, String[]).

Il codice seguente viene illustrato come creare un oggetto UriTemplate istanza di e associare e cercare la corrispondenza a un URI candidate.


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

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supportato in: 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft