2

我的 String 变量只存储 4096 个字符,我需要存储更多,我该如何实现?

下面是我想要做的

ServiceController[] myServices = ServiceController.GetServices();
String ServiceList = "";

foreach (ServiceController service in myServices)
{

      ServiceList += service.DisplayName + "|||";

} 
return ServiceList;

返回变量时,它只存储 4096 个字符,其余的被修剪掉。

PS 我需要将它们放在一个变量中,因为我正在用它们制作一个 URL 并传递给我的网络服务。

4

4 回答 4

4

我需要将它们放在一个变量中,因为我正在用它们制作一个 URL 并传递给我的 web 服务。

不,不要那样做!

4096 个字符的 URL 是一个非常糟糕的主意,并且不能保证有效。

极长的 URL 通常是一个错误。超过 2,000 个字符的 URL 将无法在最流行的网络浏览器中使用。如果您打算让您的网站为大多数 Internet 用户服务,请不要使用它们。

(资源)

创建一个包含 id 的缩短 URL。将其余信息存储在以短 id 作为键的数据库中。

有关的

于 2012-06-30T05:01:56.357 回答
3

.NET 字符串长度限制为 20 亿个字符。

浏览器确实对它们接受的 URL 的长度有限制,并且不同浏览器实现的长度限制是不同的。IE 的限制通常是最短的,我上次在 IE6 时代检查时约为 2k。Firefox 和 Chrome 远高于此,但仍有限制。

于 2012-06-30T05:03:28.623 回答
0

C# 中的字符串有大约 2Gig 的限制。所以你的字符串变量没有问题

于 2012-06-30T05:02:22.870 回答
0

您的问题在其他地方-但不可能可靠地使用使用超过 2000 个字符的 URL,您将完全需要另一种方法-请参阅此 SO 答案:URL 的最大长度是多少?

(也用于构建大字符串使用 aStringBuilder代替)

于 2012-06-30T05:04:09.363 回答