عنوان:

‫گسترش برنامه‌های ASP.NET Core با استفاده از میان‌افزار خارجی از طریق "شروع راه‌اندازی"


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۶ ۰۹:۰۱
آدرس: www.dntips.ir
این مقاله به بررسی روشی برای گسترش برنامه‌های ASP.NET Core با استفاده از ویژگی "شروع راه‌اندازی" (Hosting Startup) می‌پردازد. این ویژگی به ما امکان می‌دهد کد اضافی را در زمان شروع برنامه وب ASP.NET Core اجرا کنیم و همچنین امکان افزودن میان‌افزار (Middleware) را فراهم می‌کند. این روش به توسعه‌دهندگان اجازه می‌دهد تا میان‌افزار را به یک برنامه ASP.NET Core از پیش ساخته شده اضافه کنند بدون نیاز به بازسازی آن. استفاده از شروع راه‌اندازی شامل مراحل زیر است: تهیه یک اسمبلی (Hosting Startup assembly) که رابط IHostingStartup را پیاده‌سازی می‌کند و با ویژگی HostingStartup مشخص شده است. سپس، متغیر محیطی ASPNETCORE_HOSTINGSTARTUPASSEMBLIES را به نام اسمبلی شروع راه‌اندازی تنظیم کنید. در نهایت، برنامه ASP.NET Core را اجرا کنید. در زمان شروع برنامه، متد IHostingStartup.Configure(IWebHostBuilder builder) در اسمبلی شروع راه‌اندازی فراخوانی می‌شود و امکان ثبت خدمات اضافی در کانتینر DI و انجام وظایف اولیه را فراهم می‌کند. برای افزودن میان‌افزار به خط لوله درخواست HTTP، باید یک کلاس را که رابط IStartupFilter را پیاده‌سازی می‌کند، در کانتینر DI ثبت کنید. پس از ساخت هاست در برنامه اصلی ASP.NET Core، هنگام ساخت خط لوله درخواست HTTP، کلاس IStartupFilter ثبت شده نمونه‌سازی شده و متد IStartupFilter.Configure(Action next) آن فراخوانی می‌شود. این متد یک تابع را برمی‌گرداند که میان‌افزار را ثبت می‌کند. در نهایت، تابع بازگشتی برای ثبت میان‌افزار اجرا می‌شود و اینگونه میان‌افزار مشخص شده در اسمبلی شروع راه‌اندازی به برنامه ASP.NET Core هدف اضافه می‌شود. این روش یک راه حل انعطاف پذیر برای افزودن قابلیت‌های جدید به برنامه‌های موجود بدون نیاز به تغییر کد اصلی فراهم می‌کند. این مقاله با ارائه یک مثال عملی، نحوه پیاده‌سازی یک اسمبلی شروع راه‌اندازی که میان‌افزار را اضافه می‌کند و مشاهده بارگذاری آن در زمان شروع برنامه را نشان می‌دهد. این مثال شامل ایجاد یک برنامه وب ASP.NET Core ساده و سپس پیاده‌سازی اسمبلی شروع راه‌اندازی برای افزودن میان‌افزار است.


مشاهده مطلب اصلی