Options pattern allows you to store application configuration data in a strongly-typed object that can be injected into your application’s classes using dependency injection..
Configuration reloading : ability to dynamically update the options values
(in the appsettings ) without having to restart the application.
IOptions: is registered as a Singleton and can be injected into any service lifetime but it does not support configuration reloading.
IOptionsMonitor: is registered as a Singleton and can be injected into any service lifetime and it supports configuration reloading.
IOptionsSnapShot : is registered as Scoped and therefore can’t be injected into a Singleton service and it supports configuration reloading.
ترجمه:
الگوی گزینهها به شما امکان میدهد دادههای پیکربندی برنامه را در یک شی با تایپ قوی ذخیره کنید که میتواند با استفاده از تزریق وابستگی به کلاسهای برنامه شما تزریق شود.
بارگذاری مجدد پیکربندی: توانایی به روز رسانی پویا مقادیر گزینه ها
(در تنظیمات برنامه) بدون نیاز به راه اندازی مجدد برنامه.
IOptions: بهعنوان Singleton ثبت شده است و میتواند در طول عمر هر سرویسی تزریق شود، اما از بارگیری مجدد پیکربندی پشتیبانی نمیکند.
IOptionsMonitor: بهعنوان یک Singleton ثبتشده است و میتواند در طول عمر هر سرویس تزریق شود و از بارگیری مجدد پیکربندی پشتیبانی میکند.
IOptionsSnapShot: به عنوان Scoped ثبت شده است و بنابراین نمیتوان آن را به سرویس Singleton تزریق کرد و از بارگیری مجدد پیکربندی پشتیبانی میکند.