Должен ли я использовать Request.Параметры вместо явного выполнения Request.Form?

StackOverflow https://stackoverflow.com/questions/1426976

  •  07-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

Чтобы представить это в контексте, за 10 лет я использовал Request.Params в гневе только один раз :)

Доброта,

D

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

Я бы использовал запрос.Форма и запрос.Строка запроса явно.Причина в том, что эти два понятия не взаимозаменяемы.Строка запроса используется для HTTP Get-запросов, а переменные ФОРМЫ - для HTTP post-запросов.

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

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

/Пит

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top