В любом случае, вы просто получаете доступ к коллекции. Словарь RouteData.Values будет заполнен независимо от того, используете вы его или нет, как и коллекция Request.QueryString. При использовании Request ("key") и Request.QueryString ("key") могут быть некоторые издержки, так как первый также должен проверять коллекцию форм, но это было бы за тривиальным, и я думаю, что строка запроса в любом случае проверяется первой .