Порядок поиска индексатора HttpRequest
-
06-07-2019 - |
Вопрос
Если вы выполняете простой индекс для элементов запроса через запрос [ключ], он выглядит в 4 местоположения . Какой порядок? Кто-то делает предположение на этой странице по адресу "Cookies, ServerVariables, Form и QueryString". Кто-нибудь знает наверняка? Документация будет бонусом:)
Решение
открытая строка this [string key] {get; } Р>
Объявление типа: System.Web.HttpRequest Сборка: System.Web, Version = 2.0.0.0
public string this[string key]
{
get
{
string str = this.QueryString[key];
if (str != null)
{
return str;
}
str = this.Form[key];
if (str != null)
{
return str;
}
HttpCookie cookie = this.Cookies[key];
if (cookie != null)
{
return cookie.Value;
}
str = this.ServerVariables[key];
if (str != null)
{
return str;
}
return null;
}
}
Другие советы
Просто используйте Reflector , и вы сами это увидите. Порядок: QueryString, Form, Cookies, затем ServerVariables.
Это с ASP-сайта , но он по-прежнему применяется в ASP.NET:
Все переменные объекта запроса могут быть доступ напрямую по телефону Запрос (переменный) без Название коллекции. В этом случае веб сервер ищет коллекции в следующий порядок:
<Ол>QueryString Форма Cookies ClientCertificate ServerVariables Ол>