Trong các thử nghiệm sau đây, tại sao (chỉ) cái cuối cùng không thành công?Uri.IsWellFormedUriString cho tương đối Hashbang url tương thích
[Fact]
public void IsWellFormedUriString_AbsolutNonHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("http://www.RegularSite.org/Home", UriKind.Absolute));
}
[Fact]
public void IsWellFormedUriString_RelativeNonHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("Home", UriKind.Relative));
}
[Fact]
public void IsWellFormedUriString_AbsolutHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("http://www.w3.org/#!Home", UriKind.Absolute));
}
[Fact]
public void IsWellFormedUriString_RelativeHashTagUri_ReturnsTrue()
{
// Fails!
Assert.True(Uri.IsWellFormedUriString("#!Home", UriKind.Relative));
}
Nếu Uri
nhận Hashbangs trong phiên bản tuyệt đối của IsWellFormedUriString
, tại sao không có trong phiên bản tương đối? Tôi đang thiếu gì?
Lưu ý: This không có tác dụng.
Cảm ơn câu trả lời chi tiết, nhưng theo nó - thử nghiệm thứ ba sẽ thất bại và không. Điều này không trả lời câu hỏi của tôi. – seldary
@seldary Không, thử nghiệm thứ ba sẽ chuyển vì bạn có 'http: // www.w3.org /' như là một Uri tuyệt đối đủ để nó vượt qua vì nó phát hiện '#' là sự bắt đầu của một đoạn và '! Home' như đoạn văn bản, do đó nó đi qua. – vane