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"));
}