Skip to content

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