UriTemplateMatch Class
A class that represents the results of a match operation on a UriTemplate instance.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
| Name | Description | |
|---|---|---|
![]() | UriTemplateMatch() | Initializes a new instance of the UriTemplateMatch class. |
| Name | Description | |
|---|---|---|
![]() | BaseUri | Gets and sets the base URI for the template match. |
![]() | BoundVariables | Gets the BoundVariables collection for the template match. |
![]() | Data | Gets and sets the object associated with the UriTemplateMatch instance. |
![]() | QueryParameters | Gets a collection of query string parameters and their values. |
![]() | RelativePathSegments | Gets a collection of relative path segments. |
![]() | RequestUri | Gets and sets the matched URI. |
![]() | Template | Gets and sets the UriTemplate instance associated with this UriTemplateMatch instance. |
![]() | WildcardPathSegments | Gets a collection of path segments that are matched by a wildcard in the URI template. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | 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(); }
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.


