Skip to content

35.0.3

Choose a tag to compare

@Bobris Bobris released this 14 Apr 22:45
· 225 commits to master since this release

Added

  • UseBtdbIoc(...) and BTDB's internal IServiceProvider integration now expose IRootContainer as a singleton so
    the BTDB root container can be resolved safely from the ASP.NET root IServiceProvider while IContainer remains
    scope-bound.

Changed

  • BTDB IOC now caches IServiceProvider fallback factories and removes redundant service-provider availability checks,
    which reduces overhead when BTDB resolves services from Microsoft.Extensions.DependencyInjection.
  • BTDB IOC no longer tracks cross-container dependency cycles at runtime when resolving through
    Microsoft.Extensions.DependencyInjection, which reduces bridge resolve overhead but leaves such cycles to recurse
    until one of the containers fails naturally.
  • BTDB IOC now uses a root-provider fast path for exported registrations resolved from the ASP.NET root
    IServiceProvider, avoiding extra RootScopeIdentity and ContainerImpl lookups on the steady-state root path.
  • BTDB IOC now bypasses export enumeration bookkeeping for the common single-registration registrationIndex == 0
    path, which further reduces steady-state resolve overhead for BTDB services exposed through
    Microsoft.Extensions.DependencyInjection.
  • BTDB IOC now keeps three distinct integration modes: pure BTDB, BTDB resolving services from
    ContainerBuilder.ServiceCollection, and full bidirectional BTDB <-> ASP.NET DI bridging only through
    UseBtdbIoc(...). Building a plain ContainerBuilder no longer auto-exports BTDB registrations into an internal
    IServiceProvider.