---
title: SAIF.NetCore.EnvironmentClient operations and processes
summary: Catalog of operations and processes implemented by this library.
status: draft
owner: Framework.NCore maintainers
last_reviewed: 2026-10-02
library: SAIF.NetCore.EnvironmentClient
reference_type: package
---

# SAIF.NetCore.EnvironmentClient operations and processes

This page catalogs every operation this library performs and links to a detail page for each. No step touches a database.

## Operations catalog

| ID | Operation | Owner | Trigger |
| --- | --- | --- | --- |
| OP-01 | [Initialize environment client](operations/initialize-environment-client.md) | `BaseEnvironmentClient..ctor` → `Setup()` | DI resolution of `IEnvironmentClient` (singleton), or direct `new` |
| OP-02 | [Get setting value](operations/get-setting-value.md) | `GetSettingValue`/`GetSettingValueAsync` (string and generic overloads) | Consumer call |
| OP-03 | [Load section](operations/load-section.md) | `LoadSection`/`LoadSectionAsync` → `LoadSettings[Async]` → `HandleGetConfigurationSettingsResults` | OP-02, OP-09, OP-10 cache miss |
| OP-04 | [Refresh check and cache reload](operations/refresh-check-and-cache-reload.md) | `CheckForUpdates`/`TestForRefreshSettings` | Every `LoadSection[Async]` call and every secure-setting retrieval |
| OP-05 | [Get secure setting](operations/get-secure-setting.md) | `GetSecureSetting`/`GetSecureSettingAsync` (16 overloads) | Consumer call on `SecureEnvironmentClient` (denied on `BaseEnvironmentClient`) |
| OP-06 | [Developer override lookup](operations/developer-override-lookup.md) | `TryGetDeveloperOverride` | Every non-secure lookup once `DeveloperSettingsOverrideFile` is set |
| OP-07 | [Resolve host](operations/resolve-host.md) | `HostResolver.ResolveHost` | OP-01 step 5 |
| OP-08 | [Secure setting cache](operations/secure-setting-cache.md) | `SecureSettingCache.Get`/`GetAsync`/`ClearCache` | OP-05 step 2 |
| OP-09 | [Has setting](operations/has-setting.md) | `HasSetting` | Consumer call; also OP-05 step 4 |
| OP-10 | [Get section settings](operations/get-section-settings.md) | `GetSectionSettings` | Consumer call |
| OP-11 | [Is developer machine](operations/is-developer-machine.md) | `IsDeveloperMachine` | Consumer call; also OP-01, OP-05/ctor |

## Process flow diagram

The diagram below shows how the eleven cataloged operations trigger one another, from client initialization through consumer-facing lookups.

```mermaid
flowchart TD
    A[DI resolution of IEnvironmentClient] -->|OP-01| B[Initialize environment client]
    B -->|OP-07| C[Resolve host]
    B --> D[Consumer calls settled]
    D -->|OP-02| E[Get setting value]
    D -->|OP-09| F[Has setting]
    D -->|OP-10| G[Get section settings]
    D -->|OP-11| H[Is developer machine]
    D -->|OP-05| I[Get secure setting]
    E -->|OP-03| J[Load section]
    F -->|OP-03| J
    G -->|OP-03| J
    J -->|OP-04| K[Refresh check and cache reload]
    E -->|OP-06| L[Developer override lookup]
    I -->|OP-04| K
    I -->|OP-08| M[Secure setting cache]
```

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

## Sources
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/BaseEnvironmentClient.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SecureEnvironmentClient.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SecureSettingCache.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/HostResolver.cs`
