Net platformasi bilan tanishish clr, cts va cls


Controllerlar va so'rovlarni qayta ishlash


Download 428.24 Kb.
bet15/18
Sana07.05.2023
Hajmi428.24 Kb.
#1437478
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
C# методичка

Controllerlar va so'rovlarni qayta ishlash
Web API-dagi kontrollerlar so'rovni HttpRequestMessage ob'ekti sifatida qabul qiladi, uni usullardan biri yordamida qayta ishlaydi va javob sifatida ishlov berish natijasini HttpResponseMessage ob'ekti sifatida yuboradi.
HttpRequestMessage o'z xususiyatlaridan foydalanib, bir qator so'rov ma'lumotlarini uzatadi:
Tarkib: so'rovning asosiy qismini ifodalovchi HttpContent obyektini qaytaradi
Sarlavhalar: so'rov sarlavhalari to'plamini HttpRequestHeader ob'ektlari sifatida qaytaradi
Method: turi so'rov (Get/Post/Put/Delete)
Xususiyatlar: hosting muhiti tomonidan taqdim etilgan ob'ektlarni o'z ichiga olgan lug'at
RequestUri: so'ralgan URL manbai
Versiya: HTTP protokolining ishlatilgan versiyasi
Masalan, biz barcha so'rov sarlavhalarini olamiz:

public string Get()


{string data="";

foreach(var o in Request.Headers)


{
string val = "";
foreach (string s in o.Value)
{val += s + ";";
}
data += o.Key + " : " + val;
}
return data;}

So'rov ob'ektini Request xususiyati yordamida olish mumkin


Shu bilan birga, kontekst ob'ektlariga odatlanganlar ASP.NET MVC, bir qator foydali xususiyatlarni topa olmaydi. Masalan, MVC-da kontekst ob'ektlari orqali (HttpContext.Current.Request.UserHostAddress) foydalanuvchi manzilini olishingiz mumkin. Web API-da biz buni qila olmaymiz, shuning uchun mvc-dan ushbu ob'ektdan foydalanishimiz mumkin:


public string Get(int id)


{
return System.Web.HttpContext.Current.Request.UserHostAddress;
}

Web API-dagi barcha tekshirgichlar, MVC-dan farqli o'laroq, IHttpController interfeysini amalga oshirishni ta'minlaydi:


public interface IHttpController {


Task ExecuteAsync(HttpControllerContext controllerContext,
CancellationToken cancellationToken);
}

Keyin qayta ishlash so'rov tizim marshrutlash uning ma'lumotlar uzatiladi ob'ekt HttpControllerDispatcher. Ushbu ob'ekt allaqachon tekshirgichda ExecuteAsync () usulini chaqiradi. Ushbu usul HttpControllerContext tekshiruvi kontekstini, so'rov ma'lumotlarini va CancellationToken ob'ektini uzatadi



Download 428.24 Kb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling