Devrais-je utiliser Request.Params au lieu de faire explicitement Request.Form?

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

  •  07-07-2019
  •  | 
  •  

Question

J'utilise Request.Form pour tout mon code. Et si j’ai besoin de chaîne de requête, j’ai aussi explicitement touché cela. Il est apparu dans une revue de code que je devrais probablement utiliser plutôt la collection Params.

Je pensais que c’était une pratique exemplaire, de toucher directement la collection appropriée. Je cherche un renforcement d'un côté ou de l'autre de l'argumentation.

Était-ce utile?

La solution

Il est plus sûr d'utiliser Request.Form. Cela empêchera les utilisateurs d’expérimenter " avec les paramètres de formulaire postés simplement en modifiant l’URL. Utiliser Request.Form ne rend pas cette opération sécurisée pour les "vrais hackers", mais à mon humble avis, il est préférable d’utiliser la collection de formulaires.

Autres conseils

En utilisant les propriétés sous la demande, vous réduisez votre recherche à la collection appropriée (ce qui est une bonne chose pour la lisibilité et la performance). Je considère votre approche comme une pratique exemplaire et la suis moi-même.

j'ai toujours utilisé     Request.Form ("Param") ou     Request.QueryString (" Param ")

C’est une syntaxe plus simple à lire. Je doute sérieusement de l’impact sur les performances.

La seule fois où j'utilise Request.Params au lieu de Form ou Querystring est si je ne sais pas si la méthode par les paramètres seront passés.

Pour mettre cela dans le contexte, en 10 ans, j’ai utilisé Request.Params dans la colère une seule fois:)

gentillesse,

D

Je pense qu'il est préférable d'utiliser les collections Form et QueryString de manière explicite, sauf si vous essayez explicitement de définir un comportement flexible dans votre application, comme dans un formulaire de recherche dans lequel vous souhaiterez peut-être que les paramètres de recherche puissent être définis dans une URL ou enregistrés dans des cookies. telles que les préférences de pagination.

J'utiliserais explicitement Request.Form et Request.QueryString. La raison en est que les deux ne sont pas interchangeables. La chaîne de requête est utilisée pour les requêtes HTTP Get et les variables FORM pour les requêtes HTTP.

Les demandes d'obtention s'appliquent généralement lorsque vous demandez des données, par exemple. faire une recherche google, les mots recherchés sont dans la chaîne de requête. La publication consiste à envoyer des données au serveur Web pour traitement ou stockage. Donc, quand je dis que les deux ne sont pas interchangeables, je veux dire que vous ne pouvez pas changer la page en utilisant un GET en POST sans casser une fonctionnalité.

Donc, à mon humble avis, l’implémentation de la page peut très clairement refléter le fait que vous souhaitez l’appeler par une requête GET ou une requête POST.

/ Pete

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top