MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
255
MASHRUTLASH
Farg‘ona davlat universiteti amaliy matematika va
informatika kafedrasi o‘qituvchisi
Yusupov Mirsaid Abdulazizovich
mirsaidbeky@gmail.com
Fargʻona davlat unversiteti talabasi
Abduraximova Shaxnozabonu Axmadjon qizi
shahnozabonuabdurahimova@gmail.com
Annotatsiya: Ushbu maqolada C# dasturlash tilida marshrutlash tizimi
tushuntiriladi. Marshrutlash — bu veb-ilovalar, ayniqsa ASP.NET Core dasturlarida,
foydalanuvchidan kelgan URL so‘rovlarini to‘g‘ri funksiyalar yoki sahifalarga
yo‘naltirish jarayonidir. Maqolada marshrutlashning asosiy prinsiplari, C# tilida bu
jarayonni qanday tashkil etish va ASP.NET Core frameworkda mashrutlashni
boshqarish usullari ko‘rib chiqiladi.
Kalit so‘zlar: C#, marshrutlash, ASP.NET Core, veb-dasturlash, URL
yo‘naltirish, dinamik mashrutlar, parametrli yo‘llar, veb-ilovalar, server tomoni
marshrutlash, veb-sayt optimallashtirish,HTTP so‘rovlar.
Аннотация: В данной статье объясняется система маршрутизации в
языке программирования C#. Маршрутизация — это процесс направления URL-
запросов, поступающих от пользователя, к соответствующим функциям или
страницам в веб-приложениях, особенно в приложениях на платформе ASP.NET
Core. В статье рассматриваются основные принципы маршрутизации, способы
организации этого процесса на языке C# и методы управления маршрутизацией
в рамках фреймворка ASP.NET Core.
Ключевые слова: C#, маршрутизация, ASP.NET Core, веб-
программирование, перенаправление URL, динамическая маршрутизация,
параметризированные маршруты, веб-приложения, серверная маршрутизация,
оптимизация веб-сайтов, HTTP-запросы.
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
256
Annotation:This article explains the routing system in the C# programming
language. Routing is the process of directing URL requests from users to the correct
functions or pages in web applications, especially in ASP.NET Core applications. The
article discusses the core principles of routing, how this process is implemented in C#,
and methods for managing routing within the ASP.NET Core framework.
Keywords: C#, routing, ASP.NET Core, web development, URL redirection,
dynamic routing, parameterized routes, web applications, server-side routing, website
optimization, HTTP requests.
I.
Kirish.
1.
Mavzuning ahamiyati.
Mashrutlash — bu tarmoqda bir qurilmadan ikkinchisiga ma’lumotlarni to‘g‘ri
manzilga yo‘naltirish jarayonidir. Tarmoqdagi paketlarni jo‘natishda to‘g‘ri yo'lni
tanlash, tarmoqning samarali ishlashini va ma’lumotlarning yo'qolmasligini ta
’minlaydi. C# tilida mashrutlashni tashkil etishda
.NET Framework
yoki
.NET Core
yordamida TCP/IP protokollarini boshqarish, HTTP so‘rovlarini yo‘naltirish, va
boshqa turdagi tarmoq aloqalarini samarali boshqarish mumkin. C# dasturlashda
mashrutlashni tashkil qilish uchun ko‘plab kutubxonalar va metodlar mavjud bo‘lib,
ular tarmoqda ma’lumotlarni tez va ishonchli tarzda yo‘naltirish imkonini beradi.
2.
Maqolaning maqsadi.
Ushbu maqolaning asosiy maqsadi C# dasturlash tilida
mashrutlash (routing)
jarayonining qanday amalga oshirilishini tushuntirish va bu jarayonni dasturlashda
qanday samarali ishlatish mumkinligini ko‘rsatishdan iborat.Shuningdek, Mashrutlash
(routing) tushunchasining nima ekanligini va uning tarmoqdagi ma’lumotlarni
yo'naltirishda qanday ahamiyatga ega ekanligini batafsil tushuntirish, C# dasturlash
tilida mashrutlashni qanday amalga oshirish mumkinligini ko‘rsatish,mashrutlashni
tarmoq xavfsizligi va samaradorligini oshirish uchun qanday ishlatish mumkinligini
tushuntirishdan iborat.
Marshrutlash tizimi kiruvchi so‘rovlarni marshrutlar bilan moslashtirish va mos
natijalarga asoslanib, so‘rovni qayta ishlash uchun maxsus dastur so‘nggi nuqtasini
tanlash uchun javobgardir. Oxirgi nuqta yoki endpoint so‘rovni qayta ishlaydigan ba’zi
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
257
kodni ifodalaydi. Asosan, so‘nggi nuqta so‘rov mos kelishi kerak bo‘lgan mashrut
shablonini va ushbu marshrut uchun so‘rovni qayta ishlovchini birlashtiradi.
ASP.NET Coreda mashrutlash (routing) veb-ilovada so‘rovlarni (HTTP
requests) mos keluvchi kontroller yoki harakatlarga (actions) yo‘naltirish jarayonini
anglatadi. Mashrutlash ASP.NET Core ilovalarida foydalanuvchi so‘rovlarini to‘g‘ri
boshqarish va URL manzillarni tashkil qilish uchun muhim hisoblanadi. Ushbu maqola
ASP.NET Coreda mashrutlashning asosiy tushunchalarini C# tilida aniq va to‘g‘ri
ma’lumotlar bilan yoritadi. Mashrutlash (routing) dasturlash texnologiyalarida,
ayniqsa veb va tarmoq dasturlarida muhim ahamiyatga ega. Mashrutlash veb-
ilovalarda foydalanuvchi so‘rovlarini (masalan, URL orqali kelgan GET yoki POST
so‘rovlarini) to‘g‘ri ishlov beruvchi funksiyalarga yoki sahifalarga yo‘naltiradi.
Masalan, example.com/about URL haqida sahifasini ko‘rsatish uchun mos keluvchi
kodni ishga tushiradi, mashrutlash yordamida dastur modulli va tartibli bo‘ladi. Har bir
yo‘nalish (route) ma’lum bir vazifani bajaradi, bu esa kodni oson boshqarish va
kengaytirish imkonini beradi, Mashrutlash yordamida foydalanuvchilarning kirish
huquqlari nazorat qilinadi. Masalan, faqat administratorlar uchun mo‘ljallangan
sahifalarga yo‘nalishlar maxsus autentifikatsiya orqali himoyalanadi va RESTful API
larda mashrutlash so‘rovlarni to‘g‘ri endpointlarga (masalan, /api/users yoki
/api/products) yo‘naltiradi, bu esa server o‘rtasidagi aloqani soddalashtiradi.
Mashrutlash dasturiy tizimlarda so‘rovlarni samarali boshqarish, tuzilmani
tartibga solish, foydalanuvchi tajribasini yaxshilash va xavfsizlikni ta’minlash uchun
asosiy mexanizmdir. U veb-ilovalar, APIlar va tarmoq texnologiyalarida ajralmas qism
hisoblanadi.
ASP.NET Coreda mashrutlash ikki asosiy usulda amalga oshiriladi:
1.
Konventsiyaga asoslangan mashrutlash (Convention-based routing):
URL shablonlari orqali so‘rovlarni kontroller va harakatlarga bog‘laydi.
2.
Atributli mashrutlash (Attribute-based routing):
Kontroller va
harakatlarda atributlar ([Route]) yordamida mashrutlarni aniq belgilaydi.
Konventsiyaga asoslangan mashrutlash:
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
258
Konventsiyaga asoslangan mashrutlashda URL shablonlari UseEndpoints
metodida aniqlanadi. Odatda, bu usul MVC (Model-View-Controller) ilovalarida
ishlatiladi.
Misol (
Program.cs
):
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.UseRouting();
app.MapController
mangeRoute("default","{controller=Home}/{action=Index}/{id?}");
app.Run();
2.Atributli mashrutlash:
Atributli mashrutlashda [Route] atributi kontroller yoki harakat darajasida
ishlatiladi. Bu usul aniq va moslashuvchan URL tuzilmasini yaratish uchun qulay.
Marshrutlash tizimi kiruvchi so‘rovlarni marshrutlar bilan moslashtirish va mos
natijalarga asoslanib, so‘rovni qayta ishlash uchun maxsus dastur so‘ngi nuqtasini
tanlash uchun javobgardir. Oxirgi nuqta yoki endpoint so‘rovni qayta ishlaydigan ba’zi
kodni ifodalaydi. Asosan, so‘nggi nuqta so‘rov mos kelishi kerak bo‘lgan marshrut
shablonini va ushbu mashrut uchun so‘rovni qayta ishlovchini birlashtiradi.ASP.NET
Core so‘nggi nuqtalarni yaratish uchun oddiy va qulay funksionallikni ta’minlaydi.
Ushbu funksiyaning asosiy turi funksionallikni ta’minlaydi. U ilovaga so‘nggi
nuqtalarni qo‘shishning bir qancha usullarini belgilaydi va WebApplication sinfi ushbu
interfeysni ham amalga oshirganligi sababli, shunga mos ravishda biz WebApplication
ob’ektidagi interfeysning barcha usullarini chaqirishimiz mumkin.
Marshrutlash tizimidan foydalanish uchun so‘rovni qayta ishlash quvuriga
ikkita o‘rnatilgan vosita komponenti qo‘shiladi:
1.
Microsoft.AspNetCore.Routing.EndpointMiddleware
so‘rovni
qayta
ishlash
quvuriga so‘nggi nuqtalarni qo‘shadi. UseEndpoints() usuli yordamida quvur
liniyasiga qo‘shildi.
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
259
2.
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware
so‘rovni
qayta ishlash quvuriga so‘rov va marshrutni xaritalash funksiyasini qo‘shadi. Ushbu
vositachi dastur so‘rovga mos keladigan so‘nggi nuqtani tanlaydi va so‘rovni qayta
ishlaydi. UseRouting() usuli yordamida quvur liniyasiga qo‘shildi.U GET so'rovlarini
bajarish uchun so'nggi nuqtalarni qo'shadi.Ushbu usul uchta versiyaga ega:
public static RouteHandlerBuilder Map (this IEndpointRouteBuilder
endpoints, RoutePattern pattern, Delegate handler);
public
static
IEndpointConventionBuilder
Map
(this
IEndpointRouteBuilder
endpoints, string pattern, RequestDelegate requestDelegate);
public static RouteHandlerBuilder Map (this IEndpointRouteBuilder
endpoints,
Har uchta dasturda bu usul namuna parametri sifatida so‘rov mos kelishi kerak
bo‘lgan mashrut naqshini oladi. Ushbu parametr RoutePattern yoki string turi bo‘lishi
mumkin. Oxirgi parametr so‘rovni bajaradigan amalni ifodalaydi. Bu RequestDelegate
tipidagi delegat yoki Delegat tipidagi delegat bo‘lishi mumkin.
Mashrutlashning
afzalliklari
esa,
Mashrutlash
orqali
jarayonlar
avtomatlashtiriladi, bu esa vaqt va resurslarni tejaydi, ish jarayonlarini
optimallashtirish orqali moliyaviy xarajatlar kamayadi,avtomatlashtirilgan tizimlar
xatolarni minimallashtiradi va mahsulot yoki xizmat sifatini oshiradi, zamonaviy
mashrutlash tizimlari turli sohalarga moslashtirilishi mumkin, mashrutlash
ma’lumotlarni yig‘ish, tahlil qilish va saqlashni osonlashtiradi, bu qaror qabul qilishda
yordam beradi, Oddiy vazifalar avtomatlashtirilganda, xodimlar yanada muhim va
ijodiy ishlarga e’tibor qarata oladi.
Mashrutlash turli sohalarda keng qo‘llaniladi.
1. Ishlab chiqarish: Zavodlarda ishlab chiqarish liniyalarini avtomatlashtirish
(masalan, robotlar yordamida yig‘ish, qadoqlash);
2. Logistika va transport: Yuk tashish, ombor boshqaruvi, marshrut
optimizatsiyasi (masalan, dronlar yoki avtonom transport);
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
260
3. Axborot texnologiyalari: Server boshqaruvi, dasturiy ta’minot sinovi,
ma’lumotlarni avtomatik tahlil qilish;
4. Moliya va buxgalteriya: Hisob-kitoblarni avtomatlashtirish, to‘lov tizimlari,
moliyaviy hisobotlar tayyorlash;
5. Sog‘liqni saqlash: Tibbiy diagnostika, bemor ma’lumotlarini boshqarish,
robot-jarrohlik tizimlari;
6.Qishloq xo‘jaligi: Avtomatik sug‘orish, ekinlarni monitoring qilish, dronlar
orqali urug‘ sepish;
7. Mijozlarga xizmat: Avtomatik javob tizimlari, buyurtmalarni qayta ishlash;
8. Ta’lim: Onlayn o‘quv platformalari, testlarni avtomatik baholash tizimlari;
9
.
Marketing: Reklama kampaniyalarini avtomatlashtirish, mijozlar bilan
muloqotni personalizatsiya qilish.
ASP.NET CORE da mashrutlash:
Controlyorlar
Ko’rinishlar-views
Xulosa qilib aytganda, ASP.NET Coreda mashrutlash veb-ilovalarda
foydalanuvchi so‘rovlarini samarali boshqarish imkonini beradi. Konventsiyaga
asoslangan va atributli mashrutlash usullari orqali moslashuvchan va aniq URL
https://localhost:5068/home/index
Home/index
home
card
basket
account
Balance
register
login
index
MODERN EDUCATION AND DEVELOPMENT
Выпуск журнала №-26
Часть–8_ Май –2025
261
tuzilmalari yaratish mumkin. HTTP metodlari, parametr cheklovlari va middleware lar
yordamida mashrutlashni yanada kuchaytirish mumkin.
ADABIYOTLAR VA MANBAALAR:
1.”C# 9.0 in a Nutshell”by Sivarama P.Dandamudi.
2.”C# 7.0 in a Nutshell”by Joseph Albahari.
3.”Entity Framework 6 Recipes:A Problem-Solution Approach”by John C.Sander.
4.Troelsen,A.,&Japikse,P.(2022).Pro C# 10 with NET 6.Apress.
5.Skeet,J.(2019).C# in Depth.Manning Publications.