Uri扩展


  Uri扩展的类名为 UriExtension,是对 Uri 的扩展。

1、确保最后一个字符为反斜杠

  EnsureEndingBackslash 方法确保一个 Uri 的最后一个字符为反斜杠 /。如下所示:

[TestMethod]
public void TestEnsureEndingBackslash()
{
    var uri = "http://www.fireasy.cn";
    Assert.AreEqual("http://www.fireasy.cn/", uri.EnsureEndingBackslash());
}

2、移除第一个反斜杠

  RemoveFirstBackslash 移除一个 Uri 中的第一个反斜杠 /。如下所示:

[TestMethod]
public void TestRemoveFirstBackslash()
{
    var uri = "/article/post";
    Assert.AreEqual("article/post", uri.RemoveFirstBackslash());
}

3、移除最后一个反斜杠

  RemoveLastBackslash 移除一个 Uri 中的最后一个反斜杠 /。如下所示:

[TestMethod]
public void TestRemoveLastBackslash()
{
    var uri = "http://www.fireasy.cn/";
    Assert.AreEqual("http://www.fireasy.cn", uri.RemoveLastBackslash());
}

4、清除路径

  CleanUrlPath 清除一个 Uri 中的路径。如下所示:

[TestMethod]
public void TestCleanUrlPath()
{
    var uri = "http://www.fireasy.cn/article/";
    Assert.AreEqual("http://www.fireasy.cn/article", uri.CleanUrlPath());
}

5、是否为本地链接地址

  IsLocalUrl 判断一个 Uri 是否为本地链接。如下所示:

[TestMethod]
public void TestIsLocalUrl()
{
    var uri = "~/article/info/3";
    Assert.IsTrue(uri.IsLocalUrl());
}

6、添加Query参数

  AddQueryString 往一个 Uri 里添加查询参数。如下所示:

[TestMethod]
public void TestAddQueryString()
{
    var uri = "http://www.fireasy.cn/articles?cid=4";
    Assert.AreEqual("http://www.fireasy.cn/articles?cid=4&filter=1", uri.AddQueryString("filter=1"));
    Assert.AreEqual("http://www.fireasy.cn/articles?cid=4&filter=1", uri.AddQueryString("filter", "1"));
}