Net platformasi bilan tanishish clr, cts va cls
Download 428.24 Kb.
|
C# методичка
ASP.NET Core Web API
ASP.NET Core Microsoft tomonidan ishlab chiqilgan.net platformasida veb-ilovalarni yaratish texnologiyasini taqdim etadi. Ilovalarni ishlab chiqish uchun dasturlash tillari sifatida ASP.NET Core C# va F#dan foydalanadi. Tarix ASP.NET aslida. net-ning birinchi versiyasi 2002 yil boshida va undan keyin chiqarilishi bilan boshlandi ASP.NET va. net parallel ravishda rivojlandi:. net yangi versiyasining chiqishi yangi versiyaning chiqishini belgiladi ASP.NET beri ASP.NET ustida ishlaydi. net. shu bilan birga, dastlab ASP.NET IIS veb-serverida faqat Windows-da ishlashga qaratilgan (garchi mono loyihasi tufayli ilovalar ASP.NET Linuxda ham ishlashi mumkin). Biroq, 2014 yil katta o'zgarishlarni amalga oshirdi, aslida platformani rivojlantirishda inqilob bo'ldi: Microsoft rivojlanish yo'nalishini oldi ASP.NET opensource loyihasi sifatida rivojlanayotgan o'zaro faoliyat platforma texnologiyasi sifatida. Platformaning ushbu rivojlanishi keyinchalik o'z nomini oldi ASP.NET Core, aslida Microsoft hali ham rasmiy ravishda qanday nomlanadi. Yangilangan platformaning birinchi versiyasi 2016 yil iyun oyida chiqdi. Endi u nafaqat Windows-da, balki MacOS va Linux-da ham ishlay boshladi. U engilroq, modulli bo'lib qoldi, uni sozlash osonlashdi, umuman olganda, hozirgi vaqt talablariga ko'proq javob bera boshladi. Joriy versiya ASP.NET aslida joriy qo'llanmada qamrab olinadigan Core 2021 yil noyabr oyida.net 6 versiyasi bilan birga chiqdi. ASP.NET Core endi butunlay opensource-ramka hisoblanadi. Barcha manba ramka fayllari Github-da omborda mavjud https://github.com/dotnet/aspnetcore/. Rivojlanish modellari ASP.NET Core sizga turli xil ishlab chiqish modellari yordamida veb-ilovalarni yaratishga imkon beradi. Avvalo, bu asosiy ASP.NET bir vaqtning o'zida veb-ilovaning ishlashi uchun zarur bo'lgan barcha asosiy fikrlarni qo'llab-quvvatlaydigan Core: marshrutlash, konfiguratsiya, logging, turli xil ma'lumotlar bazasi tizimlari bilan ishlash qobiliyati va boshqalar.. Ichida ASP.NET Core 6 minimal API deb nomlangan ramka qo'shildi - minimallashtirilgan soddalashtirilgan model, bu dastur kodini ishlab chiqish va yozish jarayonini yanada soddalashtirdi. Rivojlanishning boshqa barcha modellari asosiy funktsionallik ustida ishlaydi ASP.NET asosiy ASP.NET Core MVC umumiy shaklda uchta asosiy komponent - Model (model), View (View) va Controller (Controller) atrofida dastur tuzilishini taqdim etadi, bu erda modellar ma'lumotlar bilan ishlash uchun javobgardir, kontrollerlar so'rovlarni qayta ishlash mantig'ini ifodalaydi va ko'rinishlar vizual komponentni aniqlaydi. Razor Pages maxsus ob'ektlar - Razor Pages so'rovga g'amxo'rlik qilish uchun javobgar bo'lgan modelni taqdim etadi. Har bir alohida bunday ob'ektni alohida veb-sahifa bilan bog'lash mumkin. ASP.NET Core Web API http so'rovining har bir turi (GET, POST, PUT, DELETE) uchun alohida resurs mo'ljallangan REST naqshini amalga oshirishni anglatadi. Bunday manbalar Web API tekshiruvi usullari shaklida aniqlanadi. Ushbu model, ayniqsa, bitta sahifali ilovalar uchun juda mos keladi, lekin nafaqat. Blazor server tomonida ham, mijoz tomonida ham interaktiv ilovalar yaratishga imkon beruvchi va brauzer darajasida past darajadagi WebAssembly kodidan foydalanishga imkon beruvchi ramkani taqdim etadi. Platformaning xususiyatlari ASP.NET Core. net platformasi ustida ishlaydi va shu bilan uning barcha funktsiyalaridan foydalanishga imkon beradi. Ishlab chiqish tillari sifatida .NET platformasi tomonidan qo'llab-quvvatlanadigan dasturlash tillari qo'llaniladi. rasmiy ravishda loyihalarni qo'llab-quvvatlash ASP.NET Core C# va F tillariga ega# ASP.NET Core barcha asosiy mashhur operatsion tizimlarda: Windows, Mac OS, Linux-da joylashtirilishi mumkin bo'lgan o'zaro faoliyat platforma ramkasini taqdim etadi. Va shunday qilib, yordamida ASP.NET Core biz Windows, Linux va Mac OS-da o'zaro faoliyat platforma dasturlarini yaratishimiz va ushbu OS-larda ishlashimiz mumkin. Ramkaning modulligi tufayli veb-ilovaning barcha kerakli tarkibiy qismlari NuGet paket menejeri orqali alohida modul sifatida yuklanishi mumkin. Eng keng tarqalgan ma'lumotlar bazasi tizimlari bilan ishlashni qo'llab-quvvatlash: MS SQL Server, MySQL, Postgres, MongoDB ASP.NET Core kengaytirilishi bilan ajralib turadi. Ramka nisbatan mustaqil komponentlar to'plamidan qurilgan. Va biz ushbu tarkibiy qismlarning o'rnatilgan amalga oshirilishidan foydalanishimiz yoki ularni meros mexanizmi yordamida kengaytirishimiz yoki hatto o'z komponentlarimizni funktsional imkoniyatlari bilan yaratishimiz va qo'llashimiz mumkin. Ilovalarni ishlab chiqish uchun boy vositalar to'plami. Rivojlanish vositasi sifatida biz Microsoft-ning Visual Studio kabi boy funktsional rivojlanish muhitidan foydalanishimiz mumkin. JetBrains-dan Rider muhitini ishlab chiqish uchun ham foydalanish mumkin. Bundan tashqari, mavjud. net Cli Snap sizga loyihalarni yaratish va ishga tushirishga imkon beradi ASP.NET konsolda. Va shuning uchun kodni yozish uchun siz odatdagidan foydalanishingiz mumkin matn muharriri, masalan, Visual Studio Code. Ilova markazida ASP.NET webapplication klassi mavjud. Masalan, agar biz loyihani qabul qilsak ASP.NET turi bo'yicha ASP.NET asosiy bo'sh, keyin dastur faylida.cs biz quyidagi kodni uchratamiz: var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "Hello World!"); app.Run(); Ushbu koddagi App o'zgaruvchisi faqat webapplication ob'ektini anglatadi. Biroq, ushbu ob'ektni yaratish uchun sizga boshqa ob'ekt kerak - WebApplicationBuilder, bu kodda Builder o'zgaruvchisi bilan ifodalanadi. WebApplicationBuilder Sinfi Standart dasturni yaratish aslida webapplicationbuilder sinfidan boshlanadi. Manba kodi WebApplicationBuilder-da mavjud.cs Ushbu sinf ob'ektini yaratish uchun statik webapplication usuli chaqiriladi.CreateBuilder(): WebApplicationBuilder builder = WebApplication.CreateBuilder(); WebApplicationBuilder ob'ektini ishga tushirish uchun dasturni ishga tushirishda ko'rsatilgan buyruq qatori argumentlari ushbu usulga o'tkazilishi mumkin (aniq belgilangan args parametri orqali kirish mumkin): WebApplicationBuilder builder = WebApplication.CreateBuilder(args); Yoki webapplicationoption ob'ektini uzatishingiz mumkin: WebApplicationOptions options = new() { Args = args }; WebApplicationBuilder builder = WebApplication.CreateBuilder(options); Webapplication ob'ektini yaratishdan tashqari, webapplicationbuilder klassi bir qator vazifalarni bajaradi, ular orasida quyidagilarni ajratib ko'rsatish mumkin: Ilova konfiguratsiyasini o'rnatish Xizmatlarni qo'shish Ilovada loggingni sozlash Ilova muhitini o'rnatish Dastur xostini yaratish uchun ishlatiladigan IHostBuilder va IWebHostBuilder ob'ektlarining konfiguratsiyasi Ushbu vazifalarni WebApplicationBuilder sinfida amalga oshirish uchun quyidagi xususiyatlar aniqlanadi: Konfiguratsiya: ilovaga konfiguratsiya qo'shish uchun qo'llaniladigan ConfigurationManager ob'ektini ifodalaydi. Atrof-muhit: ilova ishlaydigan muhit haqida ma'lumot beradi. Xost: xostni sozlash uchun ishlatiladigan IHostBuilder ob'ekti. Logging: ilovada logging sozlamalarini aniqlashga imkon beradi. Xizmatlar: xizmatlar to'plamini taqdim etadi va ilovaga xizmatlarni qo'shish imkonini beradi. WebHost: shaxsiy server sozlamalarini sozlash imkonini beruvchi iwebhostbuilder ob'ekti. WebApplication Sinfi Webapplicationbuilder sinfining build () usuli WebApplication ob'ektini yaratadi: WebApplicationBuilder builder = WebApplication.CreateBuilder(); WebApplication app = builder.Build(); WebApplication klassi so'rovlarni qayta ishlashni boshqarish, marshrutlarni o'rnatish, xizmatlarni olish va boshqalar uchun ishlatiladi.cs. WebApplication klassi uchta interfeysni qo'llaydi: IHost: kiruvchi so'rovlarni tinglaydigan xostni ishga tushirish va to'xtatish uchun ishlatiladi IApplicationBuilder: so'rovni qayta ishlashda ishtirok etadigan komponentlarni o'rnatish uchun ishlatiladi IEndpointRouteBuilder: so'rovlarga mos keladigan marshrutlarni o'rnatish uchun ishlatiladi Ilovaning funktsional imkoniyatlariga kirish uchun siz webapplication sinfining xususiyatlaridan foydalanishingiz mumkin: Konfiguratsiya: ilova konfiguratsiyasini IConfiguration ob'ekti sifatida taqdim etadi Atrof-muhit: ilova muhitini IWebHostEnvironment sifatida taqdim etadi Lifetime: ilovaning hayot aylanishi voqealari haqida xabar olish imkonini beradi Logger: standart dastur loggerini taqdim etadi Xizmatlar: ilova xizmatlarini taqdim etadi Urls: server foydalanadigan manzillar to'plamini ifodalaydi Xostni boshqarish uchun webapplication klassi quyidagi usullarni belgilaydi: Run (): dasturni ishga tushiradi RunAsync (): dasturni asenkron ravishda ishga tushiradi Boshlash(): dasturni ishga tushiradi StartAsync (): dasturni ishga tushiradi StopAsync (): dasturni to'xtatadi Shunday qilib, Run/Start/RunAsync/StartAsync usulini chaqirgandan so'ng, dastur ishga tushiriladi va biz unga kira olamiz: WebApplicationBuilder builder = WebApplication.CreateBuilder(); WebApplication app = builder.Build(); app.Run(); Agar kerak bo'lsa, StopAsync () usulidan foydalanib, dasturning bajarilishini dasturiy ta'minot bilan yakunlashingiz mumkin: WebApplicationBuilder builder = WebApplication.CreateBuilder(); WebApplication app = builder.Build(); app.MapGet("/", () => "Hello World!"); await app.StartAsync(); await Task.Delay(10000); await app.StopAsync(); // orqali 10 soniya tugatish ijro ilovalar Ilovaning asosiy vazifalaridan biri kiruvchi so'rovlarni qayta ishlashdir. So'rovni qayta ishlash ASP.NET Core tarkibiy qismlardan tashkil topgan konveyer printsipiga muvofiq ishlab chiqilgan. Bunday komponentlar middleware deb ham ataladi (rus tilida shunga o'xshash komponent uchun hali ham etarli atama mavjud emas, shuning uchun ular asosan "middleware komponentlari" yoki oddiygina middleware deb nomlanadi). So'rovni olgandan so'ng, avval so'rov ma'lumotlari quvur liniyasidagi birinchi komponentni oladi. So'rovni qayta ishlagandan so'ng, middleware komponenti so'rovni qayta ishlashni tugatishi mumkin - bunday komponent terminal komponenti (terminal middleware) deb ham ataladi. Yoki u so'rov ma'lumotlarini keyinchalik konveyer orqali qayta ishlash uchun uzatishi mumkin-konveyerdagi keyingi komponent va boshqalar. So'rovni oxirgi komponent bilan qayta ishlagandan so'ng, so'rov ma'lumotlari oldingi komponentga qaytariladi. Sxematik ravishda buni quyidagicha ko'rsatish mumkin: Middleware komponentlari Iapplicationbuilder interfeysining Run, Map va Use kengaytma usullari yordamida o'rnatiladi. Webapplication klassi ushbu interfeysni amalga oshiradi va shuning uchun ushbu usullardan foydalangan holda middleware komponentlarini qo'shishga imkon beradi. Download 428.24 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling