گسترش برنامههای ASP.NET Core با استفاده از میانافزار خارجی از طریق "شروع راهاندازی"
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۶ ۰۹:۰۱
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
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 ساده و سپس پیادهسازی اسمبلی شروع راهاندازی برای افزودن میانافزار است.