本文整理汇总了C#中Tavis.UriTemplates.UriTemplate.GetParameters方法的典型用法代码示例。如果您正苦于以下问题:C# UriTemplate.GetParameters方法的具体用法?C# UriTemplate.GetParameters怎么用?C# UriTemplate.GetParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tavis.UriTemplates.UriTemplate
的用法示例。
在下文中一共展示了UriTemplate.GetParameters方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetParametersWithOperators
public void GetParametersWithOperators()
{
var uri = new Uri("http://example.com/foo/bar");
var template = new UriTemplate("http://example.com/{+p1}/{p2*}");
var parameters = template.GetParameters(uri);
Assert.Equal(2, parameters.Count);
Assert.Equal("foo", parameters["p1"]);
Assert.Equal("bar", parameters["p2"]);
}
示例2: GetParametersFromMultipleQueryString
public void GetParametersFromMultipleQueryString()
{
var uri = new Uri("http://example.com/foo/bar?blur=45");
var template = new UriTemplate("http://example.com/{+p1}/{p2*}{?blur,blob}");
var parameters = template.GetParameters(uri);
Assert.Equal(3, parameters.Count);
Assert.Equal("foo", parameters["p1"]);
Assert.Equal("bar", parameters["p2"]);
Assert.Equal("45", parameters["blur"]);
}
示例3: MatchUriTemplate
private bool MatchUriTemplate(UriTemplate uriTemplate, string url, out IDictionary<string, string> parameters)
{
if (uriTemplate == null || string.IsNullOrEmpty(url))
{
parameters = new Dictionary<string, string>();
}
else
{
var parsed = uriTemplate.GetParameters(new Uri(url));
parameters = parsed.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ToString());
}
return true;
}
示例4: OptionalPathParamWithMultipleValues
public void OptionalPathParamWithMultipleValues()
{
var uri = new Uri("/foo/yuck,yob/bob", UriKind.RelativeOrAbsolute);
var template = new UriTemplate("/foo{/bar,baz}/bob");
var parameters = template.GetParameters(uri);
Assert.Equal("yuck", parameters["bar"]);
Assert.Equal("yob", parameters["baz"]);
}
示例5: OptionalPathParam
public void OptionalPathParam()
{
var uri = new Uri("/foo/yuck/bob", UriKind.RelativeOrAbsolute);
var template = new UriTemplate("/foo{/bar}/bob");
var parameters = template.GetParameters(uri);
Assert.Equal("yuck", parameters["bar"]);
}
示例6: FragmentParams
public void FragmentParams()
{
var uri = new Uri("/foo#Hello%20World!,blurg", UriKind.RelativeOrAbsolute);
var template = new UriTemplate("/foo{#p1,p2}");
var parameters = template.GetParameters(uri);
Assert.Equal("Hello World!", parameters["p1"]);
Assert.Equal("blurg", parameters["p2"]);
}
示例7: Level1Decode
public void Level1Decode()
{
var uri = new Uri("/Hello%20World", UriKind.RelativeOrAbsolute);
var template = new UriTemplate("/{p1}");
var parameters = template.GetParameters(uri);
Assert.Equal("Hello World", parameters["p1"]);
}
示例8: SimplePerfTest
public void SimplePerfTest()
{
var uri = new Uri("http://example.com/Glimpse.axd?n=glimpse_ajax&parentRequestId=123232323&hash=23ADE34FAE&callback=http%3A%2F%2Fexample.com%2Fcallback");
var template = new UriTemplate("http://example.com/Glimpse.axd?n=glimpse_ajax&parentRequestId={parentRequestId}{&hash,callback}");
for (int i = 0; i < 100000; i++)
{
var parameters = template.GetParameters(uri);
}
}
示例9: TestExactParameterCount
public void TestExactParameterCount()
{
var uri = new Uri("http://example.com/foo?bar=10");
var template = new UriTemplate("http://example.com/foo{?bar}");
var parameters = template.GetParameters(uri);
Assert.Equal(1, parameters.Count);
}
示例10: TestGlimpseUrl
public void TestGlimpseUrl()
{
var uri = new Uri("http://example.com/Glimpse.axd?n=glimpse_ajax&parentRequestId=123232323&hash=23ADE34FAE&callback=http%3A%2F%2Fexample.com%2Fcallback");
var template = new UriTemplate("http://example.com/Glimpse.axd?n=glimpse_ajax&parentRequestId={parentRequestId}{&hash,callback}");
var parameters = template.GetParameters(uri);
Assert.Equal(3, parameters.Count);
Assert.Equal("123232323", parameters["parentRequestId"]);
Assert.Equal("23ADE34FAE", parameters["hash"]);
Assert.Equal("http://example.com/callback", parameters["callback"]);
}
示例11: GetParametersFromMultipleQueryStringWithOptionalAndMandatoryParameters
public void GetParametersFromMultipleQueryStringWithOptionalAndMandatoryParameters()
{
var uri = new Uri("http://example.com/foo/bar?blur=45&blob=23");
var template = new UriTemplate("http://example.com/{+p1}/{p2*}{?blur}{&blob}");
var parameters = template.GetParameters(uri);
Assert.Equal(4, parameters.Count);
Assert.Equal("foo", parameters["p1"]);
Assert.Equal("bar", parameters["p2"]);
Assert.Equal("45", parameters["blur"]);
Assert.Equal("23", parameters["blob"]);
}
示例12: GetParameterFromArrayParameter
public void GetParameterFromArrayParameter()
{
var uri = new Uri("http://example.com?blur=45,23");
var template = new UriTemplate("http://example.com{?blur}");
var parameters = template.GetParameters(uri);
Assert.Equal(1, parameters.Count);
Assert.Equal("45,23", parameters["blur"]);
}