Я использую компактную среду / C # на Windows Mobile.
В моем приложении я загружаю данные на сервер, сериализуя объекты и используя запрос HttpWebRequest / POST для отправки информации.На сервере почтовые данные десериализуются и сохраняются в БД.
На днях я понял, что у меня проблема со специальными символами в данных поста (амперсанды и т. Д.).Поэтому я ввел Uri.EscapeDataString () в метод, и все было хорошо.
Однако сегодня я обнаружил, что существует проблема, когда приложение пытается загрузить большой объем данных (я не уверен вчто именно означает «большой» на данный момент!)
Существующий код (Вид)
var uploadData = new List<Things>();
uploadData.Add(new Thing() { Name = "Test 01" });
uploadData.Add(new Thing() { Name = "Test 02" });
uploadData.Add(new Thing() { Name = "Test with an & Ampersand " }); // Do this a lot!!
var postData = "uploadData=" + Uri.EscapeDataString(JsonConvert.SerializeObject(uploadData, new IsoDateTimeConverter()));
Задача
Вызов Uri.EscapeDataString () вызывает следующее исключение:
System.UriFormatException: неверный URI: слишком длинная строка Uri.
Вопрос
Существуют ли другие способы подготовки данных для загрузки?
Насколько я вижу, HttpUtility (которая имеет свои собственные методы кодирования / декодирования) недоступна длякомпактный каркас.