.NET WebClient.UploadValues ​​против WebClient.UploadData - PullRequest
7 голосов
/ 04 апреля 2011

Я пишу библиотеку классов для выполнения операций на сайте вне моего контроля. Сайт принимает форму сообщений в качестве входных данных.

Может кто-нибудь сказать мне, есть ли разница между этими двумя методами, кроме формы данных для загрузки?

    System.Net.WebClient.UploadData(Uri, Byte[]);

    System.Net.WebClient.UploadValues(String, NameValueCollection);

У меня нет никаких возражений, чтобы организовать данные в любом случае, но начал задаваться вопросом, какова разница на самом деле, и это все еще странно меня мучает, не зная, есть ли разница.

1 Ответ

12 голосов
/ 04 апреля 2011

Оба "POST" данные на сервер.Если вы используете UploadValues, значения будут доступны для сервера в коллекции Request.Form, как работает нормальная форма HTML.UploadData дает вам больше гибкости, так как для ваших данных не выполняется экранирование.Вам решать отформатировать данные так, чтобы сервер их понимал.Как следствие этого, вы можете использовать UploadData для дублирования поведения UploadValues.

...