Comment obtenir des variables chaîne de requête dans MVC 4 de la Demande?

Je suis guffawed ici de travailler sur mon premier MVC 4 projet avec l'Api Web de la variété.

Dans MVC 3 j'ai pu obtenir un paramètre de chaîne de requête comme tel:

var unicornName = Request.Query["unicornName"];

Mais en MVC 4, il semble que la Demande a partir d'un HttpRequestBase à un HttpRequestMessage et le paramètre de Requête n'est plus. Donc, hmm, d'accord, comment dois-je faire maintenant. J'ai trouvé quelques exemples sur le web, mais elles sont absurdes.

Cet homme recommande le fractionnement de la RequestUri de la chaîne de requête par "&" et trouver vos param et paire. Et cet exemple montre l'appel d'une GetQueryNameValuePairs méthode sur le nouvel objet de requête qui renvoie une liste de paires clé-valeur , puis de faire quelques linq pour trouver votre clé et la valeur. Il ne peut pas vraiment être présent en arrière pour obtenir quelque chose de si simple. S'il vous plaît dites-moi que je suis absent quelque chose!

Note: je peux comprendre que c'est le chemin de la liaison du modèle et que je devrais l'amener dans les paramètres de chaîne de requête via l'action de la méthode params, mais il y a encore des moments où des variables chaîne de requête doivent être pincées (facilement?) à partir de la Demande, comme dans un Filtre.

Quel est le problème avec le travail avec une liste de paires Clé/Valeur? Semble assez raisonnable pour moi.
Wow.. je pense que je n'ai pas manqué de rien. C'est une question de régression, je suppose. Que feriez-vous plutôt de l'utilisation, de la demande["blah"] ou de la demande.GetQueryNameValuePairs().ToDictionary(e => e.Clé, e => e.Valeur)["blah"]?
Il semble Demande.QueryString["query-string-nom"] est de retour dans MVC 5, juste essayé moi-même et tout a fonctionné comme un charme.

OriginalL'auteur Levitikon | 2012-10-17