Export (0) Print
Expand All

UriTemplate Class

A class that represents a Uniform Resource Identifier (URI) template.

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

'Declaration
Public Class UriTemplate

The UriTemplate type exposes the following members.

  NameDescription
Public methodUriTemplate(String)Initializes a new instance of the UriTemplate class with the specified template string.
Public methodUriTemplate(String, Boolean)Initializes a new instance of the UriTemplate class.
Public methodUriTemplate(String, IDictionary(Of String, String))Initializes a new instance of the UriTemplate class.
Public methodUriTemplate(String, Boolean, IDictionary(Of String, String))Initializes a new instance of the UriTemplate class.
Top

  NameDescription
Public propertyIgnoreTrailingSlashSpecifies whether trailing slashes “/” in the template should be ignored when binding parameters to create a URI.
Public propertyPathSegmentVariableNamesGets a collection of variable names used within path segments in the template.
Public propertyQueryValueVariableNamesGets a collection of variable names used within the query string in the template.
Top

  NameDescription
Public methodBindByName(Uri, IDictionary(Of String, String))Creates a new URI from the template and the collection of parameters.
Public methodBindByName(Uri, IDictionary(Of String, String), Boolean)Creates a new URI from the template and the collection of parameters.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string representation of the UriTemplate instance. (Overrides Object.ToString.)
Top

A URI template allows you to define a set of structurally similar URIs. Templates are composed of two parts, a path and a query.

  • A path consists of a series of segments delimited by a slash (/). Each segment can have a literal value, a variable value (written within curly braces [{ }], constrained to match the contents of exactly one segment), or a wildcard (written as an asterisk [*], which matches "the rest of the path"), which must appear at the end of the path.

  • The query expression can be omitted entirely. If present, it specifies an unordered series of name/value pairs. Elements of the query expression can be either literal pairs (?x=2) or variable pairs (?x={val}). Unpaired values are not permitted. The following examples show valid template strings:

    • "weather/WA/Seattle"

    • "weather/{state}/{city}"

    • "weather/*"

    • "weather/{state}/{city}?forecast=today

    • "weather/{state}/{city}?forecast={day}

The preceding URI templates might be used for organizing weather reports. Segments enclosed in curly braces are variables, everything else is a literal. You can convert a UriTemplate instance into a Uri by replacing variables with actual values. For example, taking the template "weather/{state}/{city}" and putting in values for the variables "{state}" and "{city}" gives you "weather/WA/Seattle".

The following code demonstrates how to create a UriTemplate instance, and bind it to a URI.

Silverlight

Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

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

Community Additions

ADD
Show:
© 2014 Microsoft