---
title: IBolServicesContainer
summary: API reference for IBolServicesContainer.
status: draft
owner: SAIF IT Core Services
last_reviewed: 2026-10-12
library: BolMiddleware
reference_type: package
---

# IBolServicesContainer

Aggregate contract that bundles the services every BOL page model needs, so page model constructors take one parameter instead of eight. `BolServicesContainer` implements it.

## Purpose
- Give derived pages a single injection point for security, logging, context, menu, configuration, environment, cookie, and cookie helper services.

## Context
- Namespace: `BolMiddleware.Services`
- Assembly/package: `BolMiddleware`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `SecurityService` | `ISecurityService SecurityService { get; }` | Identity, role, and policy access checks. |
| `LogService` | `ISaifLogService LogService { get; }` | Platform logger used by the page models. |
| `WebContextService` | `IWebContextService WebContextService { get; }` | Reads and saves the web context. |
| `MenuService` | `IMenuService MenuService { get; }` | Loads the user's menu. |
| `MyConfiguration` | `IConfiguration MyConfiguration { get; }` | Application configuration. |
| `EnvironmentClient` | `IEnvironmentClient EnvironmentClient { get; }` | Reads the `bolmiddleware:` environment keys. |
| `CookieService` | `ICookieService CookieService { get; }` | Reads and writes cookies. |
| `ContextCookieHelper` | `IContextCookieHelper ContextCookieHelper { get; }` | Manages user settings in the context cookie. |

## Behavioral notes
- The container is scoped, so each request gets its own instance.

## Constraints and usage notes
- `IEnvironmentClient`, `ISaifLogService`, and `IConfiguration` must be supplied by the host.

## Sources
- src/BolMiddleware/Services/IBolServicesContainer.cs
