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")।