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

C# ASP.NET कोर मिडलवेयर HttpModule से कैसे भिन्न है?

HttpModules web.config के माध्यम से कॉन्फ़िगर किया गया है या Global.asaxDeveloper का निष्पादन के क्रम पर नियंत्रण नहीं है।

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

HttpModules आपको एप्लिकेशन ईवेंट के लिए विशिष्ट कोड संलग्न करने में मदद करता है। HttpModules System.web से बंधे हैं।

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

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

प्रतिक्रियाओं के लिए मिडलवेयर का क्रम अनुरोधों के लिए इसके विपरीत है।

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

मिडलवेयर मेजबान स्वतंत्र हैं।

Asp.Net कोर के मिडलवेयर में निर्मित

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

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

रूटिंग अनुरोध मार्गों को परिभाषित और सीमित करें।

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

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

उदाहरण

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); // calling next middleware
   }
}

// HTTP अनुरोध पाइपलाइन में मिडलवेयर जोड़ने के लिए उपयोग की जाने वाली एक्सटेंशन विधि।

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

// नीचे दिखाए गए उपयोग विस्तार विधि का उपयोग करके अनुरोध पाइपलाइन में कस्टम मिडलवेयर जोड़ें

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 समस्या को कैसे हल करें?

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

  1. सी # एएसपी.नेट वेबएपीआई में किसी क्रिया विधि से कस्टम परिणाम प्रकार कैसे वापस करें?

    हम IHttpActionResult इंटरफ़ेस . को लागू करके परिणाम प्रकार के रूप में अपना स्वयं का कस्टम वर्ग बना सकते हैं . IHttpActionResult में एक ही विधि है, ExecuteAsync, जो अतुल्यकालिक रूप से एक HttpResponseMessage उदाहरण बनाता है। public interface IHttpActionResult {    Task<HttpResponseMessag

  1. Windows Core OS, Windows 10 से कैसे भिन्न है?

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