Back to "ASP.NET कोर निवेदन और प्रतिक्रिया पाइपलाइन को समझना | - | भाग |1: | परिदृश्य तथा आधार"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

AI-Article ASP.NET ASP.NET Lifecycle

ASP.NET कोर निवेदन और प्रतिक्रिया पाइपलाइन को समझना | - | भाग |1: | परिदृश्य तथा आधार

Wednesday, 28 October 2026

परिचय

ASP.NET कोर अनुरोध और प्रतिक्रिया पाइपलाइन इस फ्रेमवर्क पर निर्मित प्रत्येक वेब अनुप्रयोग का आधार है।

चाहे आप API निर्मित कर रहे हों, या वेब अनुप्रयोगों का निर्माण कर रहे हैं, या माइक्रोसॉफ्टवेयर का निर्माण करने वाले हों, अथवा माइक्रो-सॉफ़्टवेयर के निर्माण कर रही हों, तो पाइपलाइन हमेशा मौजूद है।

नोट: यह मेरे प्रयोगों का हिस्सा है AI के साथ / खर्च करने के लिए एक तरीका है।

अनुरोध पाइपलाइन क्या है

इसके कोर में-एमएसके0-एपीएस-एम एसके1-नेट कोर निवेदन पाइपलाइन एक श्रृंखला है जो एचटीटीपी अनुरोधों को संसाधित करती है और एचटीपी प्रतिक्रियाएं उत्पन्न करती है। इसे फैक्टरी में एक कनवेयर बेल्ट के रूप में समझें।

यह वास्तुकला पर आधारित है मिडिलवेयर पैटर्न, जहां प्रत्येक घटक को एक विशिष्ट उत्तरदायित्व है और कर सकता है

  1. आने वाले अनुरोध को प्रक्रमित करें अगले अवयव में इसे पास करने से पहले
  2. छोटा-पाईपलाइन परिपथ तुरंत एक प्रतिक्रिया उत्पन्न करके
  3. बाहर निकलने वाले प्रतिक्रिया को प्रक्रिया करें अगले घटक को निष्पादित करने के बाद

उच्च---स्तरीय वास्तुकला

ASP में पूरी पाइपलाइन वास्तुशिल्प को दिखाएँ

flowchart TB
    OS[Operating System and Network TCP IP Socket Layer]
    Kestrel[Kestrel Web Server HTTP11 HTTP2 HTTP3 QUIC TLS SSL Termination Connection Management]
    Host[Host Layer Application Lifetime Dependency Injection Configuration Logging]

    subgraph Middleware_Pipeline [Middleware Pipeline]
        EH[Exception Handler Middleware catches exceptions]
        HTTPS[HTTPS Redirection Middleware redirects HTTP to HTTPS]
        Static[Static Files Middleware serves static content]
        Routing[Routing Middleware matches request to endpoint]
        AuthN[Authentication Middleware validates identity]
        AuthZ[Authorization Middleware validates permissions]
        Custom[Custom Middleware app specific logic]
        EndpointMW[Endpoint Middleware executes matched endpoint]
    end

    EndpointExec[Endpoint Execution MVC Controllers and Actions Razor Pages Minimal APIs gRPC SignalR]
    Response[Response Generation flows back through middleware]
    BackKestrel[Back to Kestrel]
    Client[Back to Client]

    OS --> Kestrel --> Host --> EH --> HTTPS --> Static --> Routing --> AuthN --> AuthZ --> Custom --> EndpointMW --> EndpointExec --> Response --> BackKestrel --> Client

मांग प्रवाह: पाइपलाइन के माध्यम से यात्रा

पाइपलाइन के माध्यम से यात्रा करते समय एक विशिष्ट HTTP अनुरोध का अनुसरण करें

1. नेटवर्क परत

जब कोई क्लाइंट आपके अनुप्रयोग को अनुरोध करता है, तो यह आपके सर्वर पर कच्चे TCP के रूप में आ जाता है।

2. केस्ट्रेल वेब सर्वर

केस्ट्रेल0 ASP1 नेट कोर2 क्रॉस - प्लेटफार्म वेब सर्वर, अनुरोध प्राप्त करता है

  • HTTP प्रोटोकॉल को पद वर्णन करता है (HTTP/1.1, HTTPM SK2 या HTTP /3)
  • यदि HTTPS का उपयोग किया जाता है तो TLS/SSL डिक्रिप्शन ह्यान्डल करता है
  • एक बनाता है HttpContext ऑब्जेक्ट जो अनुरोध और जवाब दोनों का प्रतिनिधित्व करता है
  • अनुप्रयोग के माध्यमware पाइपलाइन में नियंत्रण चलाता है

3. होस्ट परत

होस्ट निष्पादन परिवेश प्रदान करता है

  • अनुप्रयोग जीवनकाल का प्रबंधन करता है
  • निर्भरता इंजेक्शन कन्टेनर प्रदान करता है
  • आपूर्ति कॉन्फ़िगरेशन और लॉगिंग अवसंरचना
  • मिडलवेयर पाइपलाइन बुलाता है

4. मिडलवेयर पाइपलाइन

यह है जहाँ आपका अनुप्रयोग तर्क आरंभ होता है

  • प्राप्त करता है HttpContext
  • अपने विशिष्ट कार्य निष्पादित करता है
  • तय करता है कि क्या अगले मिडलवेयर को कॉल करें या छोटा-circuit
  • इसे आगे भेजने से पहले अनुरोध को परिवर्धित कर सकता है
  • यह वापस आने के बाद प्रतिक्रिया को परिवर्धित कर सकता है

5. अंतबिंदु निष्पादन

यदि अनुरोध सभी मेडवेअर के माध्यम से करता है तो यह एक अंत बिंदु तक पहुँचता है

  • एमवीसी में एक नियंत्रक क्रिया
  • रजोर पृष्ठों में एक पृष्ठ हैंडलर
  • न्यूनतम APIs में एक पथ हैंडलर
  • जीआरपीसी सेवा विधि
  • एक सिग्नलआर हाब विधि

अंतबिंदु आपके व्यापार तर्क निष्पादित करता है और एक प्रतिक्रिया उत्पन्न करता है

6. प्रतिक्रिया प्रवाह

प्रतिक्रिया विपरीत में मध्यवर्ती उपकरण पाइपलाइन के माध्यम से वापस प्रवाहित होती है

  • प्रत्येक मध्यवर्ती उपकरण प्रतिक्रिया का निरीक्षण या परिमार्जन कर सकता है
  • हेडर अंतिम रूप दिया गया है
  • प्रतिक्रिया निकाय लिखा गया है
  • केस्ट्रेल क्लाइंट को HTTP प्रतिक्रिया वापस भेजता है

Request/Response अनुक्रम रेखाचित्र

sequenceDiagram
    autonumber
    participant Client
    participant OS as OS/Network
    participant Kestrel
    participant Host
    participant MW as Middleware Pipeline
    participant Endpoint as Endpoint Execution

    Client->>OS: HTTP request
    OS->>Kestrel: Forward request
    Kestrel->>Host: Create HttpContext
    Host->>MW: Invoke pipeline
    MW->>Endpoint: Route matched, execute
    Endpoint-->>MW: Response
    MW-->>Kestrel: Response after post-processing
    Kestrel-->>OS: Send HTTP response
    OS-->>Client: Response delivered

प्रमुख संकल्पनाएं

एचटीटीपी संदर्भ

HttpContext पाइपलाइन में केंद्रीय वस्तु है

public abstract class HttpContext
{
    // The incoming request
    public abstract HttpRequest Request { get; }

    // The outgoing response
    public abstract HttpResponse Response { get; }

    // User identity and authentication
    public abstract ClaimsPrincipal User { get; set; }

    // Request-scoped services
    public abstract IServiceProvider RequestServices { get; set; }

    // Connection information
    public abstract ConnectionInfo Connection { get; }

    // WebSocket support
    public abstract WebSocketManager WebSockets { get; }

    // Request cancellation
    public abstract CancellationToken RequestAborted { get; set; }

    // Session state
    public abstract ISession Session { get; }

    // Generic feature collection
    public abstract IFeatureCollection Features { get; }

    // And more...
}

मौजूदा अनुरोध के बारे में सब कुछ आपको जानने की जरूरत है और आप प्रतिक्रिया बनाने के लिए आवश्यक सभी चीजें के माध्यम से उपलब्ध हैं HttpContext.

मिडलवेयर

मिडलवेयर पाइपलाइन का निर्माण खंड है

// Basic middleware signature
public delegate Task RequestDelegate(HttpContext context);

// Middleware can be implemented as a method
app.Use(async (context, next) =>
{
    // Do something before the next middleware
    Console.WriteLine($"Request: {context.Request.Path}");

    // Call the next middleware
    await next(context);

    // Do something after the next middleware
    Console.WriteLine($"Response: {context.Response.StatusCode}");
});

प्रत्यायोजनों का अनुरोध करें

एक अनुरोध डेलिगेट, एक प्रकार्य है जो HTTP अनुरोध को प्रक्रमित कर सकता है

public delegate Task RequestDelegate(HttpContext context);

प्रत्येक मिडवेअर अगले डेलिगेट को बेरता है

एक सरल उदाहरण

Let's एक न्यूनतम ASP.\NET Core \8\ अनुप्रयोग देखें जो पाइपलाइन को प्रदर्शित करता है

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Middleware 1: Logging
app.Use(async (context, next) =>
{
    Console.WriteLine($"[{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] Request started: {context.Request.Method} {context.Request.Path}");

    await next(context);

    Console.WriteLine($"[{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] Request finished: {context.Response.StatusCode}");
});

// Middleware 2: Custom header
app.Use(async (context, next) =>
{
    context.Response.Headers["X-Custom-Header"] = "Hello from middleware!";

    await next(context);
});

// Middleware 3: Short-circuit for specific path
app.Use(async (context, next) =>
{
    if (context.Request.Path == "/health")
    {
        context.Response.StatusCode = 200;
        await context.Response.WriteAsync("Healthy");
        return; // Short-circuit - don't call next()
    }

    await next(context);
});

// Endpoint
app.MapGet("/", () => "Hello World!");

app.Run();

जब आप यहां जाते हैं http://localhost:5000/आप देखेंगे

Console output:
[2024-01-15 10:30:45] Request started: GET /
[2024-01-15 10:30:45] Request finished: 200

Browser output:
Hello World!

Response headers:
X-Custom-Header: Hello from middleware!

जब आप यहां जाते हैं http://localhost:5000/health:

Console output:
[2024-01-15 10:30:50] Request started: GET /health
[2024-01-15 10:30:50] Request finished: 200

Browser output:
Healthy

Response headers:
X-Custom-Header: Hello from middleware!

ध्यान दें कि कैसे तीसरा मध्यवर्ती short-के लिए पाइपलाइन परिचालित /health पथ, लेकिन यह अभी भी निष्पादित करने से पहले सभी मध्यस्थवेयर

पाइपलाइन को समझना क्यों महत्वपूर्ण है

पाइपलाइन को समझना महत्वपूर्ण है क्योंकि

  1. निष्पादन अनुकूलननिष्पादन के क्रम को जानने से आपको महंगे कार्यों को उचित रूप से स्थानांतरित करने में मदद मिलती है और अनावश्यक काम से बचता है

  2. क्रॉस---कुटिंग चिंताएंलॉगिंग को लागू करने के लिए मिडलवेयर पूर्ण है

  3. डिबगिंगजब कुछ गलत हो जाता है

  4. मनपसंद विस्तारYou can create powerful custom middleware to extend the framework

  5. सुरक्षाअपने अनुप्रयोग को सुरक्षित करने के लिए यह जानना आवश्यक है कि प्रमाणीकरण और प्राधिकृति पाइपलाइन में कैसे फिट हो

क्या है

इस पहले भाग में हम पाईपलाइन क्या है यह समझने के द्वारा आधार स्थापित किया है

इस श्रृंखला के आने वाले भागों में हम प्रत्येक परत में गहराई में डुबो देंगे

  • भाग 2: सर्वर और होस्टिंग परत हम केस्ट्रेल कॉन्फ़िगरेशन का पता लगाएँगे

  • भाग 3: मिडलवेयर पाइपलाइन - हम'बिल्ड की जाँच करेंगे। -में मिडिलवेयर में; ,; मनपसंद मिडीलवयर बनाने के लिए सीखेंगे।

  • भाग 4: रूटिंग और अंतबिंदु हम पता लगाएंगे कि कैसे अनुरोध अंतबिंदुओं के साथ मिलते हैं और कैसे अंतबिन्दु रूटिंग प्रणाली काम करता है

  • भाग 5: MVC, Razor PagesM SK2 और न्यूनतम APIs हम कैसे विभिन्न अनुप्रयोग मॉडल पाइपलाइन के भीतर निष्पादन का पता लगाएँगे

  • भाग 6: उन्नत पाइपलाइन Hooks हम उन्नत विस्तार बिंदुओं के बारे में सीखेंगे जैसे IStartupFilter, IHostedService, और अनुकूल अंतबिंदु डेटा स्रोत

कुंजी ले जाने वाले

  • ASP.NET कोर पाइपलाइन मेडवेअर अवयवों की श्रृंखला है जो अनुरोध प्रक्रिया करता है और प्रतिक्रियाएं उत्पन्न करता है
  • मिडलवेयर अनुरोधों को संसाधित कर सकता है
  • HttpContext सभी अनुरोध और प्रतिक्रिया सूचना समाहित केंद्रीय वस्तु है
  • पाइपलाइन को समझना प्रभावी, सुरक्षित और संरक्षित अनुप्रयोगों के निर्माण के लिए अनिवार्य है
  • पाइपलाइन मेडवेअर के माध्यम से सर्वर परत से अंतबिंदुओं और वापस में प्रवाहित होती है

पाइपलाइन अपनी सरलता में elegant है लेकिन अपने क्षमताओं में शक्तिशाली है।

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.