Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe UriTemplate

 

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

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


public class UriTemplate

NomeDescrizione
System_CAPS_pubmethodUriTemplate(String)

Inizializza una nuova istanza della classe UriTemplate con la stringa di modello specificata.

System_CAPS_pubmethodUriTemplate(String, Boolean)

Inizializza una nuova istanza della classe UriTemplate.

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

Inizializza una nuova istanza della classe UriTemplate.

System_CAPS_pubmethodUriTemplate(String, IDictionary<String, String>)

Inizializza una nuova istanza della classe UriTemplate.

NomeDescrizione
System_CAPS_pubpropertyDefaults

Ottiene una raccolta di coppie nome/valore per tutti i valori di parametro predefiniti.

System_CAPS_pubpropertyIgnoreTrailingSlash

Specifica se devono essere ignorate le barre finali "/" nel modello quando si creano corrispondenze con gli URI candidati.

System_CAPS_pubpropertyPathSegmentVariableNames

Ottiene una raccolta di nomi di variabili utilizzati all'interno dei segmenti di percorso contenuti nel modello.

System_CAPS_pubpropertyQueryValueVariableNames

Ottiene una raccolta di nomi di variabili utilizzati all'interno della stringa di query contenuta nel modello.

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

Crea un nuovo URI a partire dal modello e dalla raccolta di parametri.

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

Crea un nuovo URI a partire dal modello e dalla raccolta di parametri.

System_CAPS_pubmethodBindByName(Uri, NameValueCollection)

Crea un nuovo URI a partire dal modello e dalla raccolta di parametri.

System_CAPS_pubmethodBindByName(Uri, NameValueCollection, Boolean)

Crea un nuovo URI a partire dal modello e dalla raccolta di parametri.

System_CAPS_pubmethodBindByPosition(Uri, String[])

Crea un nuovo URI a partire dal modello e da una matrice di valori di parametro.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

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.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodIsEquivalentTo(UriTemplate)

Indica se un modello UriTemplate è strutturalmente simile a un altro.

System_CAPS_pubmethodMatch(Uri, Uri)

Tenta di creare una corrispondenza fra un oggetto T:System.URI e un oggetto UriTemplate.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una rappresentazione di stringa dell'istanza della classe UriTemplate.(Esegue l'override di Object.ToString().)

Un modello URI consente di definire un set di URI strutturalmente simili. I modelli sono composti di due parti, un percorso e una query. Un percorso è costituito da una serie di segmenti delimitati da una barra (/). Ogni segmento può avere un valore letterale, un valore variabile (scritto tra parentesi graffe [{}], che deve corrispondere al contenuto di un solo segmento) o un carattere jolly (scritto come asterisco [*], che corrisponde al "resto del percorso") che deve essere visualizzato alla fine del percorso. L'espressione di query può essere interamente omessa. Se presente, specifica una serie non ordinata di coppie nome/valore. Gli elementi dell'espressione di query possono essere coppie letterali (?x=2) o coppie variabili (?x={valore}). Non è consentito usare valori non abbinati. Le stringhe seguenti rappresentano esempi validi di stringhe di modello:

  • "previsioni/CA/Napoli"

  • "previsioni/{regione}/{città}"

  • "previsioni/*"

  • "previsioni/{regione}/{città}?previsioni=oggi"

  • "previsioni/{regione}/{città}?previsioni={giorno}"

I modelli URI appena elencati potrebbero essere utilizzati come struttura su cui basare le previsioni del tempo. I segmenti racchiusi fra parentesi graffe sono variabili. Gli altri segmenti rappresentano valori letterali. È possibile convertire un'istanza della classe UriTemplate in un oggetto Uri sostituendo le variabili con valori effettivi. Ad esempio, se nel modello "previsioni/{regione}/{città}" sostituiamo valori effettivi alle variabili "{regione}" e "{città}" otteniamo l'URI "previsioni/CA/Napoli". Per verificare se un determinato URI candidato corrisponde a un modello URI specificato è possibile chiamare il metodo Match(Uri, Uri). Le istanze della classe UriTemplate possono inoltre essere utilizzate per creare un oggetto Uri a partire da un set di valori variabili. A tale scopo, chiamare il metodo BindByName(Uri, NameValueCollection) o BindByPosition(Uri, String[]).

Nel codice seguente viene illustrato come creare un'istanza di UriTemplate e come associarla e confrontarla a un URI candidato.

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
Disponibile da 3.5
Silverlight
Disponibile da 4.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: