UriTemplateMatch Class
TOC
Collapse the table of content
Expand the table of content

UriTemplateMatch Class

.NET Framework (current version)
 

A class that represents the results of a match operation on a UriTemplate instance.

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

System.Object
  System.UriTemplateMatch

public class UriTemplateMatch

NameDescription
System_CAPS_pubmethodUriTemplateMatch()

Initializes a new instance of the UriTemplateMatch class.

NameDescription
System_CAPS_pubpropertyBaseUri

Gets and sets the base URI for the template match.

System_CAPS_pubpropertyBoundVariables

Gets the BoundVariables collection for the template match.

System_CAPS_pubpropertyData

Gets and sets the object associated with the UriTemplateMatch instance.

System_CAPS_pubpropertyQueryParameters

Gets a collection of query string parameters and their values.

System_CAPS_pubpropertyRelativePathSegments

Gets a collection of relative path segments.

System_CAPS_pubpropertyRequestUri

Gets and sets the matched URI.

System_CAPS_pubpropertyTemplate

Gets and sets the UriTemplate instance associated with this UriTemplateMatch instance.

System_CAPS_pubpropertyWildcardPathSegments

Gets a collection of path segments that are matched by a wildcard in the URI template.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The UriTemplateMatch class represents the results of calling the Match(Uri, Uri) method. This class is not thread safe.

The following code shows how to use the UriTemplateMatch class.

UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast=today");
Uri baseAddress = new Uri("http://localhost");
Uri fullUri = new Uri("http://localhost/weather/WA/Seattle?forecast=today");

Console.WriteLine("Matching {0} to {1}", template.ToString(), fullUri.ToString());

// Match a URI to a template
UriTemplateMatch results = template.Match(baseAddress, fullUri);
if (results != null)
{
    // BaseUri
    Console.WriteLine("BaseUri: {0}", results.BaseUri);

    Console.WriteLine("BoundVariables:");
    foreach (string variableName in results.BoundVariables.Keys)
    {
        Console.WriteLine("    {0}: {1}", variableName, results.BoundVariables[variableName]);
    }

    Console.WriteLine("QueryParameters:");
    foreach (string queryName in results.QueryParameters.Keys)
    {
        Console.WriteLine("    {0} : {1}", queryName, results.QueryParameters[queryName]);
    }
    Console.WriteLine();

    Console.WriteLine("RelativePathSegments:");
    foreach (string segment in results.RelativePathSegments)
    {
        Console.WriteLine("     {0}", segment);
    }
    Console.WriteLine();

    Console.WriteLine("RequestUri:");
    Console.WriteLine(results.RequestUri);

    Console.WriteLine("Template:");
    Console.WriteLine(results.Template);

    Console.WriteLine("WildcardPathSegments:");
    foreach (string segment in results.WildcardPathSegments)
    {
        Console.WriteLine("     {0}", segment);
    }
    Console.WriteLine();
}

.NET Framework
Available since 3.5

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft