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

C# ASP.NET Core-এ Kestrel ওয়েব সার্ভার কী?

Kestrel হলো ASP.NET Core-র জন্য একটি ক্রস-প্ল্যাটফর্ম ওয়েব সার্ভার। এটি .NET Core সাপোর্ট করা সকল প্ল্যাটফর্ম এবং ভার্সনে সাপোর্টেড।

এটি ASP.NET Core-তে ডিফল্টরূপে ইন্টার্নাল সার্ভার হিসেবে ইনক্লুডেড থাকে। Kestrel নিজে নিজে এজ সার্ভার (Edge Server) হিসেবে ব্যবহার করা যায়—অর্থাৎ ইন্টারনেট-ফেসিং ওয়েব সার্ভার যা ক্লায়েন্ট থেকে আসা HTTP রিকোয়েস্ট সরাসরি প্রসেস করতে পারে। Kestrel-এ অ্যাপ হোস্ট করার প্রসেস হলো dotnet.exe।

Kestrel InProcess হোস্টিং মডেলের সাথে ব্যবহার করা হয় না।

Out-of-Process Hosting Model-এ Kestrel দুটি ভাবে ব্যবহার করা যায়:

  1. Kestrel একক ইন্টারনেট-ফেসিং ওয়েব সার্ভার হিসেবে।
  2. Kestrel রিভার্স প্রক্সি সার্ভারের (IIS, Nginx, Apache) সাথে কম্বিনেশন হিসেবে।

যখন .NET Core CLI দিয়ে ASP.NET Core অ্যাপ্লিকেশন রান করা হয়, Kestrel একমাত্র ওয়েব সার্ভার যা ইনকামিং HTTP রিকোয়েস্ট হ্যান্ডেল ও প্রসেস করে।

CLI ব্যবহার উদাহরণ

  • নতুন প্রজেক্ট তৈরি: dotnet new webapi
  • ডিপেন্ডেন্সি রিস্টোর: dotnet restore
  • বিল্ড: dotnet build
  • রান: dotnet run

dotnet run এক্সিকিউট করার পর URL দেখাবে (যেমন https://localhost:5000)। ব্রাউজারে নেভিগেট করলে প্রসেস নাম dotnet.exe দেখাবে।

প্রোডাকশন সুপারিশ: ইন্টারনেট-ফেসিং সিনেরিওতে Kestrel-এর সামনে রিভার্স প্রক্সি (IIS, Nginx, YARP) ব্যবহার করুন—সিকিউরিটি, লোড ব্যালেন্সিং, স্ট্যাটিক ফাইল সার্ভিং, SSL টার্মিনেশন জন্য।

  1. C# ASP.NET MVC-এ ViewData কী?

  2. ASP.NET WebAPI C#-এ কন্টেন্ট নেগোসিয়েশন কী?

  3. C# ASP.NET WebAPI-এ বিল্ট-ইন মেসেজ হ্যান্ডলারগুলো কী?

  4. উইন্ডোজ পিসিতে ASP.NET মেশিন অ্যাকাউন্ট বুঝুন এবং সরান