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

C# ASP.NET Core-এ IWebHostEnvironment ইন্টারফেসের ভূমিকা

IWebHostEnvironment অ্যাপ্লিকেশন যে ওয়েব হোস্টিং এনভায়রনমেন্টে চলছে তার ইনফরমেশন প্রদান করে।

  • নেমস্পেস: Microsoft.AspNetCore.Hosting
  • এই ইন্টারফেসটি ডিপেন্ডেন্সি ইনজেকশন দিয়ে কন্ট্রোলারে ইনজেক্ট করতে হয় এবং পরে কন্ট্রোলারের সকলে ব্যবহার করা যায়।

IWebHostEnvironment ইন্টারফেসের দুটি প্রধান প্রপার্টি:

  • WebRootPath: wwwroot ফোল্ডারের পাথ (वेब-সার্ভেবল কন্টেন্ট ফাইল থাকা ডিরেক্টরির অ্যাবসোলিউট পাথ)।
  • ContentRootPath: রুট ফোল্ডারের পাথ যেটিতে সকল অ্যাপ্লিকেশন ফাইল থাকে (ContentRootPath-এ পয়েন্ট করে IFileProvider)।

ব্যবহার

নেমস্পেস ইমপোর্ট:

using Microsoft.AspNetCore.Hosting;

নিচের উদাহরণে IWebHostEnvironment কন্ট্রোলারে ইনজেক্ট করা হয়েছে এবং প্রাইভেট প্রপার্টি Environment-এ অ্যাসাইন করা হয়েছে, পরে WebRootPath এবং ContentRootPath পাওয়ার জন্য ব্যবহার করা হয়েছে।

উদাহরণ

public class HomeController : Controller
{
    private IWebHostEnvironment Environment;
    public HomeController(IWebHostEnvironment _environment)
    {
        Environment = _environment;
    }
    public IActionResult Index()
    {
        string wwwPath = this.Environment.WebRootPath;
        string contentPath = this.Environment.ContentRootPath;
        return View();
    }
}

অন্যান্য উপযোগী প্রপার্টি/মেথড: EnvironmentName (Development/Staging/Production), IsDevelopment(), IsProduction(), IsStaging(), IsEnvironment("Custom")।

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

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

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

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