IOptions — singleton. IOptionsSnapshot — scoped (per request).
IOptions:
IOptionsSnapshot:
1// IOptions2public class MyService(IOptions<Settings> options)3{4 var timeout = options.Value.Timeout;5}67// IOptionsSnapshot8public class MyService(IOptionsSnapshot<Settings> options)9{10 var timeout = options.Value.Timeout; // Fresh each request11}
Key: IOptions for static, Snapshot for dynamic.