Я пытаюсь собрать скребок для экрана и постоянно получаю некорректные сообщения о состоянии просмотра.Похоже, что во время загрузки данных System.Net.WebClient или вызова System.Text.UTF8Encoding.Default.GetString для преобразования байтового массива, возвращенного вызовом WebClient DownloadData, в строку - строки, соответствующие кодам символов URL-адресов, преобразуются..
т.е.
Строки символов в кодировке URL, такие как% 2B, преобразуются в обычные символы (+ для% 2B).
Это происходит в классе WebClient?Это способ преобразования байтового массива в строку?
РЕДАКТИРОВАТЬ:
На основе предложений я попытался перейти к вызову DownloadString из класса WebClient, и в результате строка преобразовала символкодирует конкретный символ, поэтому кажется, что виновником является WebClient.
EDIT 2:
Решено.Сделав вызов System.Web.HttpUtility.UrlEncode, я смог преобразовать + обратно в% 2B перед отправкой строки состояния представления обратно на сервер при последующих запросах.Я все еще в растерянности относительно того, где и почему возникла проблема, но сервер ожидал строку состояния представления, которая содержала ...% 2B ... и получал ... + ... и определял состояние представления как недопустимоеи бросить исключение.Слава Джону и Хенку за то, что они заставили меня переосмыслить свои предположения.