Ordine di ricerca dell'indicizzatore HttpRequest
-
06-07-2019 - |
Domanda
Se si esegue un semplice indice negli elementi di Request tramite Request [chiave], verrà visualizzato in 4 posizioni . Qual è l'ordine? Qualcuno fa un'ipotesi su quella pagina in " Cookies, ServerVariables, Form and QueryString " ;. Qualcuno lo sa per certo? La documentazione sarebbe un bonus :)
Soluzione
stringa pubblica this [chiave stringa] {get; }
Tipo di dichiarazione: System.Web.HttpRequest Assembly: 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;
}
}
Altri suggerimenti
Usa Reflector e puoi vederlo da solo. L'ordine è QueryString, Modulo, Cookie, quindi ServerVariables.
Questo proviene da un sito ASP , ma si applica comunque su ASP.NET:
Tutte le variabili oggetto richiesta possono essere accessibile direttamente chiamando Richiesta (variabile) senza il nome della collezione. In questo caso, il Web il server cerca le raccolte nel file ordine seguente:
- QueryString
- Modulo
- Cookie
- ClientCertificate
- ServerVariables