Должен ли я использовать Request.Params вместо явного выполнения Request.Form? - PullRequest
1 голос
/ 15 сентября 2009

Я использую Request.Form для всего моего кода. И если мне нужна строка запроса, я тоже обращаюсь к ней. В обзоре кода выяснилось, что мне, вероятно, следует вместо этого использовать коллекцию Params.

Я думал, что это лучшая практика - попадать в соответствующую коллекцию напрямую. Я ищу какое-то подкрепление одной или другой стороне аргумента.

Ответы [ 6 ]

8 голосов
/ 15 сентября 2009

Более безопасно использовать Request.Form. Это не позволит пользователям «экспериментировать» с опубликованными параметрами формы, просто изменив URL. Использование Request.Form не делает это безопасным для «настоящих хакеров», но, имхо, лучше использовать коллекцию Form.

6 голосов
/ 15 сентября 2009

Используя свойства под запросом, вы сужаете свой поиск до нужной коллекции (что хорошо для удобства чтения и производительности). Я считаю ваш подход лучшей практикой и следую ему сам.

0 голосов
/ 15 сентября 2009

Я бы явно использовал Request.Form и Request.QueryString. Причина в том, что они не являются взаимозаменяемыми. Строка запроса используется для HTTP-запросов Get, а переменные FORM для HTTP-запросов Post.

Запросы на получение, как правило, применимы, когда вы запрашиваете данные, например, сделать поиск в Google, поисковые слова находятся в строке запроса. Сообщение, когда вы отправляете данные на веб-сервер для обработки или хранения. Поэтому, когда я говорю, что они не являются взаимозаменяемыми, я имею в виду, что вы не можете изменить страницу с использования GET на POST без нарушения функциональности.

Так что ИМХО, реализация страницы может довольно четко отражать тот факт, что вы намереваетесь вызвать ее с помощью запроса GET или POST.

/ Pete

0 голосов
/ 15 сентября 2009

Я думаю, что лучше использовать коллекции Form и QueryString явно, если вы явно не пытаетесь определить гибкое поведение в своем приложении, как в форме поиска, где вы можете захотеть, чтобы параметры поиска определялись в URL или сохранялись в файлах cookie. такие как настройки нумерации страниц.

0 голосов
/ 15 сентября 2009

Единственный раз, когда я использую Request.Params вместо Form или Querystring, это если я не знаю, будет ли метод, с помощью которого будут передаваться параметры.

Для сравнения: за 10 лет я использовал Request.Params в гневе только один раз:)

Доброжелательность,

D

0 голосов
/ 15 сентября 2009

Я всегда использовал Request.Form ( "Param") или же Request.QueryString ( "Param")

Это чисто синтаксис, который легче читать. Я серьезно сомневаюсь, что это влияет на производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...