(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

UriTemplateTable-Klasse

Eine Klasse, die einen assoziativen Satz von UriTemplate-Objekten darstellt.

System.Object
  System.UriTemplateTable

Namespace:  System
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public class UriTemplateTable

Der UriTemplateTable-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUriTemplateTable()Initialisiert eine neue Instanz der UriTemplateTable-Klasse.
Öffentliche MethodeUriTemplateTable(Uri)Initialisiert eine neue Instanz der UriTemplateTable-Klasse mit der angegebenen Basisadresse.
Öffentliche MethodeUriTemplateTable(IEnumerable<KeyValuePair<UriTemplate, Object>>)Initialisiert eine neue Instanz der UriTemplateTable-Klasse mit der angegebenen Auflistung von Schlüssel-Wert-Paaren.
Öffentliche MethodeUriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate, Object>>)Initialisiert eine neue Instanz der UriTemplateTable-Klasse mit der angegebenen Basisadresse und Auflistung von Schlüssel-Wert-Paaren.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftBaseAddressRuft die Basisadresse für die UriTemplateTable-Instanz ab oder legt sie fest.
Öffentliche EigenschaftIsReadOnlyRuft einen Wert ab, der angibt, ob die UriTemplateTable schreibgeschützt ist.
Öffentliche EigenschaftKeyValuePairsRuft eine Auflistung von Schlüssel-Wert-Paaren ab, die aus UriTemplate-Objekten und deren zugeordneten Daten bestehen.
Öffentliche EigenschaftOriginalBaseAddressRuft die ursprüngliche Basisadresse ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeMakeReadOnlyMacht die UriTemplateTable schreibgeschützt.
Öffentliche MethodeMatchVersucht, einen möglichen Uri mit der UriTemplateTable abzugleichen.
Öffentliche MethodeMatchSingleVersucht, einen möglichen Uri mit der UriTemplateTable abzugleichen.
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Eine UriTemplateTable ist ein assoziativer Satz von UriTemplate-Objekten, die an ein Objekt nach Wahl des Entwicklers gebunden sind. Sie ermöglicht Ihnen, mögliche URIs (Uniform Resource Identifiers) mit den Vorlagen im Satz abzugleichen und die den übereinstimmenden Vorlagen zugeordneten Daten abzurufen.. Der Inhalt der UriTemplateTable kann geändert werden, bis die MakeReadOnly(Boolean)-Methode aufgerufen wird und eine der folgenden Validierungen erfolgt:

  • Wenn MakeReadOnly(Boolean) bei der Übergabe von false aufgerufen wird, überprüft die UriTemplateTable, ob die Tabelle mehrere strukturell äquivalente Vorlagen enthält. Wenn solche Vorlagen gefunden werden, wird eine Ausnahme ausgelöst. Diese Validierung wird zusammen mit MatchSingle(Uri) verwendet, wenn sichergestellt werden soll, dass nur eine Vorlage einem eingehenden URI entspricht.

  • Wenn MakeReadOnly(Boolean) bei der Übergabe von true aufgerufen wird, können in einer UriTemplateTable mehrere strukturell äquivalente Vorlagen enthalten sein. Abfragezeichenfolgen in den Vorlagen dürfen jedoch nicht mehrdeutig sein; identische Abfragezeichenfolgen sind zulässig. Weitere Informationen finden Sie unter zu mehrdeutigen Abfragezeichenfolgen finden Sie unter UriTemplate und UriTemplateTable.

Im folgenden Codebeispiel wird veranschaulicht, wie eine UriTemplateTable erstellt, gefüllt und für den Abgleich mit einem möglichen Uri verwendet wird.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft