HttpContext. So`rov konteksti. Kuklar.
Kim php ishlagan bo`lsa agar, ular s – sarvar ob`yektini va o`zgaruvchan qatorini biladilar. Bular orqali so`rov haqida ma`lumot olish mumkin: brauzer haqida, IP-manzili haqida va izoh httpContext ob`yektida ASP.NET.MVC bunday harakatlarni bajarish imkonini beradi. Kontrollerda ham Controller Context ob`yektiga murojaat qilsak, bu ob`yektning Http Context xossasi xuddi shu harakatni bajarish imkonini beradi. Ammo, ular farq qiladi. Http Context ob`yekti konkret http-so`rovning ma`lumotlarini tasvirlaydi, qaysilariga dasturli ilova ishlov beradi. Controller Context esa Http - so`rovning ma`lumolarini berilgan kontrollerga qarashli tasvirlaydi.
So`rov haqida ma`lumot Request xossasida saqlanadi. HttpContext.Request sinf ob`yekti, Http Request Base sinfidan meros saqlaydi. Ba`zilarini ko`rib chiqamiz:
Foydalanuvchi brauzerni olish: HtppContext.Request.Browser
Ba`zan faqat brauzerning o`zi kamlik qiladi, bunda foydalanuvchi agentiga murojaat qilish mumkin: HtppContext.Request.User Agent.
Url-so`rovini olish: HtppContext.Request RawUzl.
Foydalanuvchining IP-manzilini olish: HtppContext. Request.UserHost Address.
Refererni olish: HttpContext. Requst. UrlRefferrer=null?"" htpp Context.Request.URL Referrer. AbsoluteUri. Referer aniqlanmagan bo`lishi mumkin, bunda oldindan ko`ramiz u null ga teng emasmi. Masalan:
public string Index()
{
string browser = HttpContext.Request.Browser.Browser;
string user_agent = HttpContext.Request.UserAgent;
string url = HttpContext.Request.RawUrl;
string ip = HttpContext.Request.UserHostAddress;
string referrer = HttpContext.Request.UrlReferrer == null ? "" : HttpContext.Request.UrlReferrer.AbsoluteUri;
return "
Browser: " + browser+"
User-Agent: "+user_agent+"
Url zaprosa: "+url+
"
Referer: " + referrer + "
IP-adres: "+ip+"
";
}
htpp Context.Requestning yana bir qator xossalari bor, ularni hujjatlardan ko`rish mumkin.
|