What are the differences between IOptions and IOptionsSnapshot?

The below are the differences between IOptions and IOptionsSnapshot explained respectively. Both are provided as part of the IOptions framework in ASP.NET Core

IOptions and IOptionsSnapshot are interfaces provided as a part of the IOptions framework provided in ASP.NET Core.

There are three interfaces provided by this namespace as a part of configuring IOptions instances.

  1. IOptions
  2. IOptionsSnapshot and
  3. IOptionsMonitor


  • Options configured in IOptions are registered as SingletonServices
  • Can be injected into any service for accessing options
  • Doesn’t support option updates when configuration changes
  • Doesn’t support Named options


  • Options configured in IOptionsSnapshot are registered as ScopedServices
  • Can be injected into only Scoped and Transient services
  • Supports updated options even after configuration is loaded
  • Supports Named options

Buy Me A Coffee

Found this article helpful? Please consider supporting!


I'm a full-stack developer and a software enthusiast who likes to play around with cloud and tech stack out of curiosity. You can connect with me on Medium, Twitter or LinkedIn.

Leave a Reply

Your email address will not be published. Required fields are marked *