Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# ASP.NET Core मिडलवेयर HttpModule से कैसे अलग है?


HttpModules को web.config या global.asax के माध्यम से कॉन्फिगर किया जाता है। डेवलपर का निष्पादन क्रम पर कोई नियंत्रण नहीं होता।

चूंकि मॉड्यूल का क्रम मुख्य रूप से एप्लिकेशन लाइफ साइकिल इवेंट्स पर आधारित होता है। रिक्वेस्ट और रिस्पॉन्स के लिए निष्पादन क्रम समान रहता है।

HttpModules आपको एप्लिकेशन इवेंट्स के लिए विशिष्ट कोड अटैच करने में मदद करते हैं। HttpModules System.web से जुड़े होते हैं।

मिडलवेयर को web.config फ़ाइल के बजाय Startup.cs कोड में कॉन्फिगर किया जाता है (एप्लिकेशन के लिए एंट्री पॉइंट)

HttpModules के विपरीत, इस बात पर पूरा नियंत्रण होता है कि क्या निष्पादित होता है और किस क्रम में। चूंकि वे उस क्रम में निष्पादित होते हैं जिसमें वे जोड़े जाते हैं।

रिस्पॉन्स के लिए मिडलवेयर का क्रम रिक्वेस्ट के लिए क्रम से उल्टा होता है।

मिडलवेयर इन इवेंट्स से स्वतंत्र है।

मिडलवेयर होस्ट-स्वतंत्र हैं।

Asp.Net Core के बिल्ट-इन मिडलवेयर्स

Authentication    प्रमाणीकरण समर्थन प्रदान करता है।

CORS                  क्रॉस-ओरिजिन रिसोर्स शेयरिंग कॉन्फिगर करता है।

Routing              रिक्वेस्ट रूट्स को परिभाषित और प्रतिबंधित करता है।

Session              उपयोगकर्ता सत्र प्रबंधन के लिए समर्थन प्रदान करता है।

Diagnostics        त्रुटि पृष्ठों और रनटाइम जानकारी के लिए समर्थन शामिल करता है।

उदाहरण

public class MyMiddleware{    private readonly RequestDelegate _next;    private readonly ILogger _logger;    public MyMiddleware(RequestDelegate next, ILoggerFactory logFactory){       _next = next;       _logger = logFactory.CreateLogger("MyMiddleware");    }    public async Task Invoke(HttpContext httpContext){       _logger.LogInformation("MyMiddleware executing..");       await _next(httpContext); // अगला मिडलवेयर कॉल करना    } }

// एक्सटेंशन मेथड जिसका उपयोग मिडलवेयर को HTTP रिक्वेस्ट पाइपलाइन में जोड़ने के लिए किया जाता है।

public static class MyMiddlewareExtensions{    public static IApplicationBuilder UseMyMiddleware(this IApplicationBuilder    builder){       return builder.UseMiddleware<MyMiddleware>();    } }

// कस्टम मिडलवेयर को Use एक्सटेंशन मेथड का उपयोग करके रिक्वेस्ट पाइपलाइन में जोड़ें जैसा कि नीचे दिखाया गया है

public void Configure(IApplicationBuilder app, IHostingEnvironment env){    app.UseMiddleware<MyMiddleware>()    app.Run(async (context) =>{       await context.Response.WriteAsync("Hello World!");    }); }
  1. C# ASP.NET WebAPI में CORS समस्या कैसे हल करें? C# ASP.NET WebAPI में CORS समस्या कैसे हल करें?

    क्रॉस-ओरिजिन रिसोर्स शेयरिंग (CORS) एक ऐसा तंत्र है जो ब्राउज़रों को यह बताने के लिए अतिरिक्त HTTP हेडर्स का उपयोग करता है कि एक ओरिजिन पर चल रहे वेब एप्लिकेशन को किसी अलग ओरिजिन से चुनिंदा रिसोर्सेज तक पहुंच दी जाए। एक वेब एप्लिकेशन एक क्रॉस-ओरिजिन HTTP रिक्वेस्ट निष्पादित करता है जब वह किसी ऐसे रि

  1. C# ASP.NET WebAPI में एक्शन मेथड से कस्टम रिजल्ट टाइप कैसे लौटाएं? C# ASP.NET WebAPI में एक्शन मेथड से कस्टम रिजल्ट टाइप कैसे लौटाएं?

    हम IHttpActionResult इंटरफ़ेस को इम्प्लीमेंट करके अपनी खुद की कस्टम क्लास को रिजल्ट टाइप के रूप में बना सकते हैं। IHttpActionResult में एक सिंगल मेथड, ExecuteAsync होता है, जो एसिंक्रोनसली एक HttpResponseMessage इंस्टेंस बनाता है। public interface IHttpActionResult { Task ExecuteAsync(Cancellat

  1. Windows Core OS बनाम Windows 10: मुख्य अंतर समझाया गया Windows Core OS बनाम Windows 10: मुख्य अंतर समझाया गया

    सोशल मीडिया के सैकड़ों लाभों में से एक कमी अफवाहों और अधूरी जानकारी का प्रसार है। ऐसा ही एक मामला Microsoft द्वारा Windows 10x Core OS नामक एक नए ऑपरेटिंग सिस्टम के विकास की व्यापक अफवाह है। यह खबर थोड़ी भारी थी, और मैंने इसके बारे में थोड़ा और जांच करने का फैसला किया ताकि एक और ऑपरेटिंग सिस्टम के ब