Request.ServerVariables.AllKeys не содержит все ключи

1

Мы используем Request.ServerVariables для чтения определенного значения заголовка, добавленного прокси-сервером в заголовке запроса.

Мы можем получить и прочитать искомое значение, используя

Request.ServerVariables.Get(myKey)
// or
Request.ServerVariables[myKey]

но мы замечаем, что когда мы перебираем ключи с помощью

foreach (string key in Request.ServerVariables.AllKeys)
...

мы не получаем искомый ключ!

Внутри документации мы можем прочитать:

Коллекция ServerVariables извлекает значения предопределенных переменных среды и запрашивает информацию заголовка.

Так правильно ли сказать, что Request.ServerVariables.AllKeys не содержит всех ключей и что мы должны использовать индексатор или метод get для проверки наличия ключа?

Теги:
asp.net-mvc

2 ответа

1
Лучший ответ

full list of variables can be found here. Если вы знаете конкретные переменные, которые вам нужны, было бы более эффективно просто запросить их, чтобы в любом случае перечислить всю коллекцию.

Если вы просто отлаживаете свое веб-приложение, вы увидите полный список, и вы не можете добавить этот список в код (легко), насколько я знаю.

Изображение 174551

  • 0
    это только для отладки, и я не получаю полный список, поэтому я удивлен!
  • 0
    Вы не получили 49 или около того в списке? или вы имеете в виду, что вы не можете видеть конкретные переменные, которые вы отправили через заголовок?
Показать ещё 4 комментария
-2

Я ничего не пропустил. Атрибут имени входного элемента

например, вы не получите значение Request.ServerVariables.Get(myKey); управления с помощью Request.ServerVariables.Get(myKey);

<input type='text' value='Indian' /> 

вы используете <input name ='country' type='text' value='Indian'/> и

Request.ServerVariables.Get('country');
  • 0
    я не отправляю форму и не пытаюсь получить входное значение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню