Мне нужна помощь с методом C # WebClient UploadString. Я пытаюсь загрузить длинную строку (которую я читаю из базы данных) на сервер (PHP), и в настоящее время я пытаюсь сделать это с помощью метода UploadString, потому что он кажется самым простым. У меня проблема в том, что загружаемая строка обрезается примерно после 4000 символов, и я не могу понять, почему.
Например:
data.length: 19000 (до загрузки)
Длина сообщения: 4000 (в PHP)
Что я сделал, чтобы обойти эту проблему: я загружаю свою строку кусочками длиной менее 4000 символов. НО я все еще сталкиваюсь с проблемой! Каждая вторая загрузка отключается, и я не могу понять, почему.
Это мой код C #:
WebClient client = new WebClient();
foreach (DataRow dr in dra)
{
foreach (int y in index)
{
data += dr[y] + ";";
Console.Write(".");
}
data += ":";
if (count1 > 50)
{
// Upload the data.
Console.WriteLine("Uploading Data.....");
Console.WriteLine("Länge des Strings:" + data.Length);
Console.WriteLine(data);
client.Dispose();
client.Encoding = System.Text.Encoding.UTF8;
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string Ergebnis = client.UploadString(address, "POST", data);
Console.WriteLine(Ergebnis);
client.Dispose();
result.ErrorMessage += Ergebnis;
count1 = -1;
data = "table="+table+"&columns=continueUpload&values=";
}
++count1;
}
У кого-нибудь есть идеи, откуда это взялось? Есть ли ограничение на метод веб-клиента?
Хорошо, я нашел решение, спасибо Алексу за подсказку!
Мне пришлось урленкодировать все мои значения, чем это работало!
Других решений пока нет …