URL 的 URI IsWellFormedOriginalString with hashbang

URI IsWellFormedOriginalString for URL with hashbang

我想使用 IsWellFormedOriginalString 验证 URL。我使用此代码:

var enc2 = "/discussion/somepage.aspx?DiscussionID=13&PostID=1#post4";
Uri.TryCreate(enc2, UriKind.RelativeOrAbsolute, out u1);
Console.WriteLine(u1.IsWellFormedOriginalString());

但它 returns false。如果我使用 URL 没有散列

/discussion/somepage.aspx?DiscussionID=13&PostID=1

它工作正常。如何解决?

阅读这篇文章后 https://blog.httpwatch.com/2011/03/01/6-things-you-should-know-about-fragment-urls/ 我意识到不应将哈希作为 Uri 的一部分进行验证。所以我在检查之前排除了哈希部分:

enc2 = enc2.Split('#')[0];