.net Uri类不支持超过263个字符的URL

grz*_*z_p -1 .net asp.net-core

AFAIK应该支持任何高达2000个字符的内容.

再生产:

var s = "http://www."
+ string.Join("", Enumerable.Repeat("a", 249))
+ ".com";

new Uri(s, UriKind.Absolute);
Run Code Online (Sandbox Code Playgroud)

正在解析一个字母较短的一个没有问题:

var s = "http://www."
+ string.Join("", Enumerable.Repeat("a", 248))
+ ".com";
Run Code Online (Sandbox Code Playgroud)

Uri类代码起源于2003年,并被转移到.net标准/核心.MS仍然声称255个字符的路径/ URI足以满足每个人的需求吗?

Cod*_*ter 5

您正在尝试创建主机名超过255个字符的Uri .255是最大值.

这也反映在异常消息中:

无效的URI:无法解析主机名.

所以这不应该归咎于微软.