কম্পিউটার টিউটোরিয়াল

C# ASP.NET Core-এ UseIISIntegration-এর ব্যবহারিতা

সব ASP.NET Core অ্যাপ্লিকেশনের একটি WebHost অবজেক্ট দরকার যা অ্যাপ্লিকেশন এবং ওয়েব সার্ভার হিসেবে কাজ করে। WebHostBuilder দিয়ে WebHost কনফিগার ও তৈরি করা হয়। সাধারণত UseKestrel() এবং UseIISIntegration() সেটআপ কোডে দেখা যায়।

এগুলো কী করে?

  • UseKestrel(): Kestrel কে IServer ইন্টারফেস রেজিস্টার করে যেটি আপনার অ্যাপ্লিকেশন হোস্ট করবে। ভবিষ্যতে অন্যান্য অপশন থাকতে পারে (যেমন Windows-ওনلی WebListener)।
  • UseIISIntegration(): ASP.NET-কে বলে যে IIS কেস্ট্রেলের সামনে রিভার্স প্রอก্সি হিসেবে কাজ করবে। এটি কিছু সেটিংস স্পেসিফাই করে—যেমন Kestrel কোন পোর্টে লিসেন করবে, ফরোয়ার্ডিং হেডার্স, এবং অন্যান্য ডিটেইলস।

উদাহরণ

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
        host.Run();
    }
}

ASP.NET Core 2.2 পর্যন্ত (Out-of-Process Hosting):

  • দুই প্রসেস: w3wp.exe (IIS) এবং dotnet.exe (ASP.NET Core + Kestrel)।
  • IIS এবং Kestrel এই দুটি প্রসেসের মাঝপথে কমিউনিকেট করে।
  • এই সিনেরিওতে UseIISIntegration ব্যবহার করা হয়।

ASP.NET Core 3.0+ (In-Process Hosting): ডিফল্টরূপে ইন-প্রসেস হোস্টিং (IIS HTTP সার্ভার - IISHttpServer) ব্যবহার হয়, যেখানে Kestrel ব্যবহার হয় না। UseIISIntegration এখনো কাজ করে কিন্তু ইন-প্রসেসের জন্য কিছু সেটিংস হ্যান্ডেল করে।

  1. C# ASP.NET WebAPI-এ Authorize অ্যাট্রিবিউটের ব্যবহার

  2. C# ASP.NET MVC-এ ChildActionOnly অ্যাট্রিবিউটের ব্যবহার

  3. C# ASP.NET MVC-এ NonActionAttribute-এর তাৎপর্য

  4. C# ASP.NET WebAPI-তে ফিল্টারের বিভিন্ন প্রকার কী কী?