2

私の文字列変数は 4096 文字しか格納できません。もっと格納する必要があります。どうすればそれを達成できますか?

以下は私がやろうとしていることです

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

foreach (ServiceController service in myServices)
{

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

} 
return ServiceList;

変数が返されると、4096 文字のみが格納され、残りは削除されます。

PS私はそれらからURLを作成し、私のWebサービスに渡すので、1つの変数でそれらを必要とします。

4

4 に答える 4

4

それらから URL を作成し、Web サービスに渡すため、1 つの変数でそれらが必要です。

いいえ、それをしないでください !

4096 文字の URL は非常に悪い考えであり、動作が保証されていません。

通常、非常に長い URL は誤りです。2,000 文字を超える URL は、最も一般的な Web ブラウザーでは機能しません。サイトが大多数のインターネット ユーザーのために機能することを意図している場合は、それらを使用しないでください。

(ソース)

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 の最大長は何ですか?

(また、大きな文字列を作成するには、StringBuilder代わりに a を使用します)

于 2012-06-30T05:04:09.363 に答える